我正在尝试使用 vue-cli webpack 安装来设置worker-loader,它为构建/配置提供以下文件结构:
-build
--vue-loader.conf.js
--webpack.base.conf.js
--other build files...
-config
--index.js
--dev.env.js
--other config files...
然后我安装了worker-loader
npm install worker-loader --save-dev
然后我尝试要求我的worker.js
require('worker-loader!my-worker.js');
但它没有被 babel 加载,它被用作 vue-cli webpack 版本的默认值
然后我尝试使用以下配置更新 webpack.base.conf.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]')
}
}
]
}
但是我的worker只能被babel读取并作为常规js文件导入,并且worker-loader不会执行任何操作。
那么如何正确配置呢?
最佳答案
糟糕,我确实发现了我的错误。
我尝试加载worker-loader:
import myWorker from 'worker-loader?./myworker'
let worker = new Worker(myWorker);
所以解决方案很简单:
import myWorker from 'worker-loader?./myworker'
let worker = new myWorker;
现在可以了:-)
关于vue.js - 将worker-loader与vue-cli和webpack一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43307377/