仅当导入NPM软件包时,MeteorJS ES6语法才会失败。在仓库中构建相同的代码可以正常工作

时间:2019-07-03 14:46:45

标签: node.js meteor npm

我构建了一个约200行的小npm程序包,该程序运行状况检查。它使用ES6语法。当我发布然后导入流星项目时,let checks = [];出现错误,提示SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode

流星项目使用ES6,并且始终使用let变量。

我已经将这个npm包安装到了流星项目中的文件中,因此无法导入。运行正常,我的健康检查有效。由于某些原因,导入时会中断。

npm软件包代码: let checks = [];

错误:

let checks = [];
^^^
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
    at Object.exports.runInThisContext (vm.js:53:16)
    at /Users/.../configuration-service/.meteor/local/build/programs/server/boot.js:287:30
    at Array.forEach (native)
    at Function._.each._.forEach (/Users/.../.meteor/packages/meteor-tool/.1.4.1_2.1xe2w4b.28mr++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11)
    at /Users/.../configuration-service/.meteor/local/build/programs/server/boot.js:128:5

我希望ES6语法不会有问题,因为导入了这个小程序包的项目已经使用了它。我不确定为什么ES6仅在用作导入节点模块时不能正常工作。如果我将相同的完全相同的代码复制/粘贴到项目中的文件中,则不会出错。

0 个答案:

没有答案