使用工人装载机VUE-CLI和的WebPack

使用工人装载机VUE-CLI和的WebPack

问题描述:

我试着去建立工人装载机VUE-CLI的WebPack安装,可提供以下文件结构的构建/配置:使用工人装载机VUE-CLI和的WebPack

-build 
--vue-loader.conf.js 
--webpack.base.conf.js 
--other build files... 
-config 
--index.js 
--dev.env.js 
--other config files... 

我再装工装载机与

npm install worker-loader --save-dev 

于是我试图要求我worker.js与

require('worker-loader!my-worker.js'); 

但它不是

module: { 
rules: [ 
    { 
    test: /\.(js|vue)$/, 
    loader: 'eslint-loader', 
    enforce: 'pre', 
    include: [resolve('src'), resolve('test')], 
    options: { 
     formatter: require('eslint-friendly-formatter') 
    } 
    }, 
    { 
    test: /\.vue$/, 
    loader: 'vue-loader', 
    options: vueLoaderConfig 
    }, 
    { 
    test: /\.js$/, 
    loader: 'babel-loader', 
    include: [resolve('src'), resolve('test')] 
    }, 
    { 
    test: /\worker\.js$/, 
    loader: 'worker-loader', 
    include: [resolve('src'), resolve('test')] 
    }, 
    { 
    test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, 
    loader: 'url-loader', 
    options: { 
     limit: 10000, 
     name: utils.assetsPath('img/[name].[hash:7].[ext]') 
    } 
    }, 
    { 
    test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, 
    loader: 'url-loader', 
    options: { 
     limit: 10000, 
     name: utils.assetsPath('fonts/[name].[hash:7].[ext]') 
    } 
    } 
] 
} 

但我的工人就只能由阅读:由被用来作为默认VUE-CLI的WebPack版本

于是我尝试更新具有以下配置webpack.base.conf.js通天装babel并作为一个常规的js文件导入,而worker-loader并没有缝隙执行任何操作。

那么如何正确配置?

Woops,我找到了我的错误。

我试图加载工人装载机:

import myWorker from 'worker-loader?./myworker' 
let worker = new Worker(myWorker); 

因此,解决办法是简单地使用:

import myWorker from 'worker-loader?./myworker' 
let worker = new myWorker; 

所以现在它的工作原理:-)

+0

你确定它是'worker-loader?./ myworker'而不是'worker-loader!./myworker'?你能发布你的工作文件的结构吗? – Alex

+0

在npm install worker-loader之后,可以直接使用它来清除任何conf。防爆。 '从'worker-loader?name = workers/[hash:7] .worker.js!。/ noxfer.worker''导入NoxferWorker – Steffan