babel子模块意外的令牌导入

纪尧姆·拉曼达(Guillaume Lamanda)

我找不到解决问题的方法,这里是:
我使用babel在我的api上将代码从es6转换为es5。
直到我添加了一个子模块,该子模块包含API和我的移动应用程序之间的共享功能(React Native),该方法一直有效。
现在,当我从该公共子模块中导入某些内容时,出现错误“意外的令牌'导入'”,因此不会对我的子模块进行编译。
请注意,在移动应用程序上,此子模块没有问题。

这里是我的结构:
| src
| -common /(子模块)
| --graphql /
| ---user.js(必需,用es6编写)
| --package.json
| -数据/
| -助手/
| -index.js

我的babelrc看起来像:

{
  "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

这是巴别塔错误

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

编辑:如果我删除子模块package.json,它的工作

编辑2:重命名我.babelrcbabel.config.js的伎俩✅

节点v8.10.0
babel 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使用的软件包。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章