在迁移到EAS时,我正在阅读迁移文档,并且看到EAS构建需要来自expo/metro-config的整个defaultConfig。我很难研究如何利用这个mtro.config.js.
const blacklist = require("metro-config/src/defaults/exclusionList")
module.exports = {
resolver: {
blacklistRE: blacklist([/amplify\/#current-cloud-backend\/.*/]),
},
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: false,
},
}),
},
}这样,如果添加一个函数或其他可能附带的其他错误,我将不会获得重复文件名的jest-haste-map错误。
使用此代码,一些映像不包含在构建中,因此问题是如何利用defaultConfig并避免jest-haste-map问题?
发布于 2022-05-13 13:55:12
我只想简单地分享我的解决方案,而且我知道有一些expo build项目使用这个metro.config.js或rn-cli.config.js的一些变体来适当地配置metro。
const blacklist = require("metro-config/src/defaults/exclusionList")
module.exports = {
resolver: {
blacklistRE: blacklist([/amplify\/#current-cloud-backend\/.*/]),
},
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: false,
},
}),
},
}我找不到关于const defaultConfig = getDefaultConfig(__dirname)来自expo/metro-config结构的文档(也许有人可以评论链接?)只需要用翅膀。这可用于配置blockList (而不是blackListRE)解析器,并适当地加载映像:
metro.config.js
const { getDefaultConfig } = require('expo/metro-config');
const defaultConfig = getDefaultConfig(__dirname);
defaultConfig.resolver.assetExts.push('db');
defaultConfig.resolver.blockList = [/amplify\/#current-cloud-backend\/.*/];
module.exports = defaultConfig;根据迁移文档,这是将任何自定义配置选项附加到const defaultConfig = getDefaultConfig(__dirname)对象的理想方法。您可以看到,我正在设置blockList,因此您需要阻止的任何其他文件也可以设置为该数组。
希望这对放大人民有帮助!
https://stackoverflow.com/questions/72230746
复制相似问题