美文网首页
SyntaxError: Unexpected identifi

SyntaxError: Unexpected identifi

作者: 海的那一边 | 来源:发表于2019-05-20 15:39 被阅读0次

遇到问题:在运行js代码时有如下报错:

/Users/xxx/Downloads/xxx-ges/xxxl-utils/examples/mq.example.js:1
(function (exports, require, module, __filename, __dirname) { import consumeMq from '../src/mqConsumers'
                                                                     ^^^^^^^^^
SyntaxError: Unexpected identifier
    at new Script (vm.js:80:7)
    at createScript (vm.js:264:10)
    at Object.runInThisContext (vm.js:316:10)
    at Module._compile (internal/modules/cjs/loader.js:670:28)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:718:10)
    at Module.load (internal/modules/cjs/loader.js:605:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:544:12)
    at Function.Module._load (internal/modules/cjs/loader.js:536:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:760:12)

解决办法:
1.在当前的项目的目录下npm i,安装的是当前项目下package.json定义的包(如果用的公司自己的包,可使用npm i --registry=https://npm.xxxxxxx.com/下载)
2.下载安装babel:npm install -g babel-cli
3.再次运行脚本:babel-node mq.xxxx.js,即可成功运行。

相关知识:
Babel:如果你想在网络上使用ES6,你可以使用 Babel(一款 JS 编译器)或谷歌的 Traceur (一款编译器)将你的 ES6 代码翻译成网络友好型的 ES5。转换编译器使得我们在使用 ES6 编写代码的同时,保证代码在每一个浏览器中都能够运行。
Babel 是一个 JavaScript 编译器,可将我们代码中的 ES6 语法转换为 ES5 的语法,使我们的代码能在不支持 ES6 语法的环境中正常运行。配合一些插件,我们甚至能直接使用 ES6 标准的一些新特性,而无需等待各大浏览器的实现,也无需担忧兼容性。

Babel快速入门:https://segmentfault.com/a/1190000013445997

相关文章

网友评论

      本文标题:SyntaxError: Unexpected identifi

      本文链接:https://www.haomeiwen.com/subject/iqykzqtx.html