【发布时间】:2021-09-27 01:38:45
【问题描述】:
我正在尝试从自定义 npm 包中加载网络工作者。
[App] -> [my npm package -> load worker]
我在 npm 包中使用worker-loader 来加载工作文件:
import Worker from 'worker-loader!./myPackage.worker';
const worker = new Worker();
我在本地 npm 包中的 webpack 配置:
{
entry: './packages/myPackage/src/index.ts',
output: {
library: 'myPackage',
libraryTarget: 'umd',
path: path.resolve(__dirname, './packages/myPackage/dist'),
filename: "index.js"
},
module: {
rules: [
{
test: /\.tsx?$/,
loader: "ts-loader"
},
{
test: /\.worker\.js$/,
loader: 'worker-loader',
options: {
inline: "no-fallback"
}
},
]
},
}
很遗憾,每次我这样做时,我的应用都无法找到工作文件。该应用正在尝试从 ./static/js/myPackage.worker.js 获取工作人员,但 找不到文件 并引发错误 Uncaught SyntaxError: Unexpected token '<'。
我在这里做错了什么?理想情况下,我希望 worker 文件与 npm 包捆绑在一起,因此不需要加载其他文件。怎样才能实现这种行为?
【问题讨论】:
标签: javascript react-native npm webpack web-worker