无法在 Chrome63 中使用 es6 导出关键字
Unable to use es6 export keyword in Chrome63
我正在尝试在我的 test.js
文件中使用 export
关键字。 test.js
文件非常简单。
const foo = Math.PI;
export { foo };
我正在使用 karma
进行测试。我的 Chrome
版本大于 61
,如下面的日志所示。 export
语法在大于 61 的 chrome 版本中得到完全支持,因此上面的代码应该可以工作但失败了。
$ karma start --browsers Chrome
01 10 2017 12:29:37.346:INFO [karma]: Karma v1.7.1 server started at http://0.0.0.0:9876/
01 10 2017 12:29:37.350:INFO [launcher]: Launching browser Chrome with unlimited concurrency
01 10 2017 12:29:37.357:INFO [launcher]: Starting browser Chrome
01 10 2017 12:29:38.288:INFO [Chrome 63.0.3205 (Mac OS X 10.11.6)]: Connected on socket PV-MAe-R6vm4JntCAAAA with id 24009783
Chrome 63.0.3205 (Mac OS X 10.11.6) ERROR
Uncaught SyntaxError: Unexpected token export
at test/test.js:2
对于为什么会发生这种情况有什么建议吗?
为了正确解释特定于 ES 模块(import
和 export
)的关键字,脚本应作为模块加载。和业力 doesn't do that.
即使 Karma 支持它,现实世界的应用程序依赖于只能由捆绑器正确处理的东西,例如由 CommonJS/UMD 个模块组成的 NPM 包。
目前涉及 ES 模块的测试应该在 Karma 中进行转译。
我正在尝试在我的 test.js
文件中使用 export
关键字。 test.js
文件非常简单。
const foo = Math.PI;
export { foo };
我正在使用 karma
进行测试。我的 Chrome
版本大于 61
,如下面的日志所示。 export
语法在大于 61 的 chrome 版本中得到完全支持,因此上面的代码应该可以工作但失败了。
$ karma start --browsers Chrome
01 10 2017 12:29:37.346:INFO [karma]: Karma v1.7.1 server started at http://0.0.0.0:9876/
01 10 2017 12:29:37.350:INFO [launcher]: Launching browser Chrome with unlimited concurrency
01 10 2017 12:29:37.357:INFO [launcher]: Starting browser Chrome
01 10 2017 12:29:38.288:INFO [Chrome 63.0.3205 (Mac OS X 10.11.6)]: Connected on socket PV-MAe-R6vm4JntCAAAA with id 24009783
Chrome 63.0.3205 (Mac OS X 10.11.6) ERROR
Uncaught SyntaxError: Unexpected token export
at test/test.js:2
对于为什么会发生这种情况有什么建议吗?
为了正确解释特定于 ES 模块(import
和 export
)的关键字,脚本应作为模块加载。和业力 doesn't do that.
即使 Karma 支持它,现实世界的应用程序依赖于只能由捆绑器正确处理的东西,例如由 CommonJS/UMD 个模块组成的 NPM 包。
目前涉及 ES 模块的测试应该在 Karma 中进行转译。