我构建了一个约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仅在用作导入节点模块时不能正常工作。如果我将相同的完全相同的代码复制/粘贴到项目中的文件中,则不会出错。