簡體   English   中英

Webpack Worker Loader:如何使其作為依賴項工作?

[英]Webpack Worker Loader: How to make it work as a dependency?

我有我的 index.html 導入依賴項。

<script src="node_modules/myModule/app.js"></script> 

我的模塊/app.js

var WebWorker = require('worker-loader!./worker');
window.WebWorker = new WebWorker();

worker 存在於 node_modules/myModule/worker.js

當我運行“webpack”時,它可以工作,因為它們在同一個文件夾中。 如果我更改路徑中的任何內容,webpack 將不會根據需要獲取 webworker 代碼。

使用此模塊作為依賴項時會出現問題,因為我需要將 worker.js 放置在與 index.html 相同的路徑中。

另一種方法是使用 Blob 並將工作器作為內聯依賴項插入,但它們在 IE11 上不受支持。

因此,我不知道是否有一個很好的選擇來使它工作。

你應該為你的工人選擇一個命名模式,讓我們說:

myWorkerModule.worker.js

然后配置 webpack 工作加載器以處理具有該模式的所有文件。 這是 webpack.config 的相關部分:

module: {
    rules: [
        {
            test: /\.worker\.js$/,
            use: { loader: 'worker-loader' }
        }
    ]
}

現在,當您需要該工作模塊作為依賴項時,只需將

var myWorkerModule = require('./myWorkerModule.worker')

或者

import myWorkerModule from './myWorkerModule.worker'

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM