[英]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.