Phantomjs 将webpack 2配置导出为函数是否可以防止传输?

Phantomjs 将webpack 2配置导出为函数是否可以防止传输?,phantomjs,karma-runner,webpack-2,Phantomjs,Karma Runner,Webpack 2,我是webpack新手,尝试将它与Babel loader结合使用,在ES6中编写一个库。我还想将Karma/PhantomJS用于测试管道 我遇到了一个奇怪的问题,PhantomJS指出在我运行测试时ES6代码没有被转换: SyntaxError: Use of reserved word 'let' in strict mode at webpack:///say/hello.js:2:0 <- say/hello.spec.js:22929 SyntaxError:在严格模式下使用

我是webpack新手,尝试将它与Babel loader结合使用,在ES6中编写一个库。我还想将Karma/PhantomJS用于测试管道

我遇到了一个奇怪的问题,PhantomJS指出在我运行测试时ES6代码没有被转换:

SyntaxError: Use of reserved word 'let' in strict mode
at webpack:///say/hello.js:2:0 <- say/hello.spec.js:22929
SyntaxError:在严格模式下使用保留字'let'

在webpack:///say/hello.js:2:0 问题不在于网页配置,而是你如何在你的karma.config中使用它。karma配置中的
webpack
选项需要一个对象,但您给了它一个函数。实际上,您需要调用函数来获取结果对象,当您从命令行运行webpack时,webpack通常会为您执行此操作

由于您当前未使用
env
(webpack函数的输入参数),您可以简单地调用它:

webpack: webpackConfig(),
但是当你开始有基于此的条件时,你需要传递正确的值。假设您正在使用文档中提到的示例:
--env.production
--env.platform=web
。Webpack将调用以下函数:

webpackConfig({ production: true, target: 'web' })

非常清楚的解释,谢谢,我已经用这个补丁更新了这个项目,所以其他人可以参考它。