Grunt 构建失败 - ParseError: 'import' 和 'export' 可能只出现在 'sourceType: module' 中

Posted

技术标签:

【中文标题】Grunt 构建失败 - ParseError: \'import\' 和 \'export\' 可能只出现在 \'sourceType: module\' 中【英文标题】: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 和 *** 的帖子。我的 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”中

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

【问题讨论】:

有什么想法或建议吗? 运气好了吗? 【参考方案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 周围的方括号不应该在那里。尝试在没有它们的情况下运行此文件。

【讨论】:

你有什么运气吗?

以上是关于Grunt 构建失败 - ParseError: 'import' 和 'export' 可能只出现在 'sourceType: module' 中的主要内容,如果未能解决你的问题,请参考以下文章

grunt karma 覆盖在 jenkins 上失败,但在 windows/unix 上有效

在阶段应用程序构建android错误:mergeDebugResources,ParseError AttributeNSNotUnique

为啥通过 Grunt 运行 Google JavaScript Linter 会失败?

Grunt构建工具

自动化构建 -- Grunt

自动构建 grunt gulp