Ecmascript 6 如何将网页包babel loader和es6与worker loader一起使用?

Ecmascript 6 如何将网页包babel loader和es6与worker loader一起使用?,ecmascript-6,webpack,babeljs,web-worker,Ecmascript 6,Webpack,Babeljs,Web Worker,我正在尝试将worker loader与babel一起使用,以便在web worker代码中支持es6导入 我的webpack.config.js中有以下设置 { test: /\.worker\.js$/, loader: "worker!babel", presets: ['es2015'] } 这将正确地为worker生成一个单独的捆绑文件,其哈希名称类似于d46f60b8e184bf8b1cb8.worker.js { test

我正在尝试将
worker loader
babel
一起使用,以便在web worker代码中支持es6导入

我的
webpack.config.js中有以下设置

   {
     test: /\.worker\.js$/,
     loader: "worker!babel",
     presets: ['es2015']
   }
这将正确地为worker生成一个单独的捆绑文件,其哈希名称类似于
d46f60b8e184bf8b1cb8.worker.js

   {
     test: /\.worker\.js$/,
     loader: "worker!babel",
     presets: ['es2015']
   }
但是,该文件不是通过Babel转换运行的,而是转换为es5。因此,它包含原始es6导入状态网和在浏览器中失败的语法。看起来像:

/* 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']
   }

并且还尝试将其移动到
预加载程序
后加载程序
,但没有成功。

我遇到了相同的问题,并通过使用选项中提到的查询字符串参数获得了成功:

因此: