vue.js - 将worker-loader与vue-cli和webpack一起使用

标签 vue.js babeljs web-worker

我正在尝试使用 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/

相关文章:

vue.js - 如何更改 v-carousel 滚动/幻灯片过渡速度?

javascript - 如何重写此 ES6 代码以与 Safari 兼容?

javascript - 可以使用 Babel 转译成 TypeScript 吗?

reactjs - Babel 无法识别 `export Component from ' ./Component'`

c# - JavaScript 中的 `WebWorkers` 概念是否类似于异步函数?

javascript - 如何在Vue中捕获 Canvas 上的关键事件

javascript - 将 State 添加到我的 React 设置会导致 "./src/Main.js Module build failed"

Web Worker 中的 Ajax 限制

javascript - 是否可以使用网络 worker 优化两个脚本?

vue.js - 如果 Vuetify Autocomplete 没有匹配的结果,则保留输入的文本