![](/img/trans.png)
[英]React native - babel-plugin-module-resolver '1' of undefined
[英]Babel module resolver not working with react-native
我的 babel 模块解析器不适用于 React-Native(VScode 中的 intellij 也不适用)
这是我的 babel 配置
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: [
[
'module-resolver',
{
root: ['./'],
alias: {
'@assets': './src/assets',
'@modules': './src/modules',
'@config': './src/config',
'@utils': './src/utils',
},
},
],
],
};
和 jsconfig.json
{
"compilerOptions": {
"baseUrl": "./src",
"paths": {
"@assets": ["./assets"],
"@modules": ["./modules"],
"@config": ["./config"],
"@utils": ["./utils"]
}
}
}
我更改了我的一个文件的导入,这是我从 Xcode 执行构建命令时遇到的错误
错误:从 Metro 加载资产 JSON 时出错。 确保您已正确执行所有 expo-updates 安装步骤。 无法从
src/utils/Router.js
../../modules/store/components/Filters
这些文件都不存在:
我在哪里导入这样的文件
import Filters from '@modules/store/components/Filters';
我有同样的问题,我刚刚从我的别名中删除了“@”,现在看起来工作正常。
这是我的 babel.config.js
module.exports = function (api) { ■ File is a CommonJS module; it may be converted to an ES6 module.
api.cache(true);
return {
presets: ["babel-preset-expo"],
plugins: [
[
require.resolve("babel-plugin-module-resolver"),
{
root: ["./src/"],
alias: {
// define aliases to shorten the import paths
components: "./src/components",
containers: "./src/containers",
contexts: "./src/contexts",
interfaces: "./src/interfaces",
organizer: "./src/screens/organizer",
screens: "./src/screens",
},
extensions: [".js", ".jsx", ".tsx", ".ios.js", ".android.js"],
},
],
],
};
};
将您的module-resolver
的根更改为['./src/']
:
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: [
[
'module-resolver',
{
root: ['./src/'], // <-- here ✅
alias: {
'@assets': './src/assets',
'@modules': './src/modules',
'@config': './src/config',
'@utils': './src/utils',
},
},
],
],
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.