如何将webpack babel-loader和es6与worker-loader一起使用?
问题描述:
我正在尝试使用worker-loader
和babel
来支持web worker代码中的es6导入。如何将webpack babel-loader和es6与worker-loader一起使用?
我在webpack.config.js
{
test: /\.worker\.js$/,
loader: "worker!babel",
presets: ['es2015']
}
这正确地产生了工人一个sepearte包文件与哈希名称,如d46f60b8e184bf8b1cb8.worker.js
但是这个文件不通过巴贝尔运行转换下面的设置和转换为es5。所以它包含原始的es6导入statmenets和在浏览器中失败的语法。样子:
/* 0 */
/***/ function(module, exports) {
import _ from 'lodash';
var o = {foo: 'foo'};
_.has(o, 'foo'); // true
setInterval(() => {
postMessage({tick: Date.now()});
}, 1000);
/***/ }
/******/ ]);
我曾尝试切换装载机的顺序,如:
{
test: /\.worker\.js$/,
loader: "babel!worker",
presets: ['es2015']
}
,也尝试过,但没有成功移动到preLoaders
和postLoaders
。
答
我遇到了同样的问题,通过下选择here提到的查询字符串参数取得了成功:
所以:
{
test: /\.worker\.js$/,
loader: "worker!babel?presets[]=es2015"
}