巴别塔子模块意外的令牌导入



我找不到我的问题的解决方案,这里是:
我使用 babel 在我的 API 上将我的代码从 es6 转译到 es5。
这一直很好,直到我添加一个子模块,其中包含 API 和我的移动应用程序(React Native(之间的共享功能。
现在,当我从这个公共子模块导入某些内容时,我有一个错误"意外的令牌'导入'",所以我的子模块没有转译。
请注意,在移动应用程序上,我对这个子模块没有问题。

这是我的结构:
| src
| -- 通用/(子模块(| -- -- graphql/| -- -- --用户.js (必需,写入 ES6(

| -- --包.json
| -- 数据/| -- 助手/


| -- 索引.js

我的巴贝尔克看起来像:

{
"plugins": [
"@babel/plugin-proposal-object-rest-spread",
"@babel/plugin-transform-arrow-functions",
"@babel/plugin-transform-regenerator",
"@babel/plugin-transform-runtime",
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-proposal-class-properties"
],
"presets": ["@babel/preset-env"]
}

注意 我的子模块没有任何.babelrc

这是巴别塔错误

有人已经遇到这个问题了吗? 谢谢:)

编辑:如果我删除子模块包.json,它可以工作

编辑2:将我的.babelrc重命名为babel.config.js成功✅

了节点 v8.10.0 通天塔 7.0.0

这是预期行为。如果你看 https://babeljs.io/docs/en/config-files,关键部分是

正在编译的"文件名"必须在"babelrcRoots"包中,否则搜索将被完全跳过。

src/common/graphql/user.js位于src/common包内,但根包是根包,根包是不同的包。

如果您想使用内部.babelrc则需要通过在根目录中创建一个babel.config.js文件来选择使用它

module.exports = {
babelrcRoots: [__dirname, __dirname + "/common"],
};

这样 Babel 就知道这两个包都应该被认为是.babelrc包。

最新更新