【问题标题】:Use worker-loader with vue-cli and webpack使用带有 vue-cli 和 webpack 的 worker-loader
【发布时间】:2017-09-04 13:33:51
【问题描述】:

我正在尝试使用 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 不接缝做任何事情。

那么如何正确配置呢?

【问题讨论】:

    标签: vue.js babeljs web-worker


    【解决方案1】:

    糟糕,我确实找到了我的错误。

    我尝试加载 worker-loader:

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

    所以解决方案很简单:

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

    所以现在它可以工作了:-)

    【讨论】:

    • 你确定是 'worker-loader?./myworker' 而不是 'worker-loader!./myworker'?您能否发布您的工作人员文件的结构?
    • 在 npm install worker-loader 之后无需任何 conf 即可直接使用。前任。 import NoxferWorker from 'worker-loader?name=workers/[hash:7].worker.js!./noxfer.worker'
    猜你喜欢
    • 2019-05-07
    • 2020-02-01
    • 2017-12-11
    • 2019-05-04
    • 2019-05-26
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    相关资源
    最近更新 更多