【问题标题】:Grunt build failing - ParseError: 'import' and 'export' may appear only with 'sourceType: module'Grunt 构建失败 - ParseError: 'import' 和 'export' 可能只出现在 'sourceType: module' 中
【发布时间】:2018-06-16 21:53:57
【问题描述】:

我浏览过很多关于 github 和 stackoverflow 的帖子。我的 package.json 中有以下开发依赖项,用于 es6 到 es5 的转换。

"babel-cli": "^6.26.0", "babel-core": "^6.26.0", "babel-loader": "^6.0.0", "babel-preset-env": "^1.6.1", "babel-preset-es2015": "^6.24.1", "babel-preset-latest": "^6.24.1", "babelify": "^8.0.0", "浏览": "^15.0.0", "grunt-browserify": "^5.2.0", “咕噜”:“^1.0.1”, “咕噜声”:“^1.2.0”

我已经设置了一个繁重的任务,使用 babelify 作为转换器和 browserify 将我的 es6 文件编译为 es5。

浏览器化:{ 分布:{ src: [‘src/component/myes6.js’], dest: 'dist/src/component/myes5.js', 选项: { 转变: [ ['babelify',{预设:[[“es2015”,{松散:真,模块:假}]]}] ], 浏览器化选项:{ 调试:真 } } } }

我的 es6 js 文件正在导入一个节点模块,该模块是 es6 js 文件并作为函数导出。我尝试遵循各种论坛的许多建议,并查看了 babel/babelify/grunt-browserify 文档,但无法得出具体结论。

早些时候我认为,这可能是版本问题,但我现在使用的是所有 babel 6 版本和最新的 browserify/grunt-browserify 等。但是,我仍然看到以下错误:

ParseError:“import”和“export”可能只出现在“sourceType:module”中

任何帮助或指点将不胜感激。

【问题讨论】:

  • 有什么想法或建议吗?
  • 运气好了吗?

标签: browserify babeljs grunt-browserify babelify


【解决方案1】:

我已经解决了安装 esmify 插件npm install babel-plugin-esmify browser-resolve --save-dev

browserify: {
           dist: {
               src: ['src/component/myes6.js'],
               dest: 'dist/src/component/myes5.js',
               options: {
               plugin: [
                   [require('esmify')]
               ],
               transform: [
                    ['babelify', {
                        presets: [["es2015", { loose: true, modules: false }]]
                       }
                   ]
               }
           }
       },  

  

【讨论】:

    【解决方案2】:

    我没有尝试运行它,但是你的 browserify dist/src 周围的方括号不应该在那里。尝试在没有它们的情况下运行此文件。

    【讨论】:

    • 你有什么运气吗?
    猜你喜欢
    • 2017-04-23
    • 1970-01-01
    • 2017-10-06
    • 2018-05-28
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多