【问题标题】:How to use web worker on a npm module如何在 npm 模块上使用 web worker
【发布时间】:2020-10-03 05:39:25
【问题描述】:

我正在编写一个 JavaScript 库并且我正在使用一个网络工作者。我正在使用 webpack(带有 worker-loader)来创建我的构建。 图书馆一切正常。

webpack.config.js

{
    test: /app.worker.ts$/,
    include: [
        path.resolve(__dirname, 'src/')
    ],
    use: [
        {
            loader: 'babel-loader',
        },
        {
            loader: 'worker-loader',
            options: {
                name: 'app.worker.js',
            }
        }
    ]
}

那生成:

/dist/app.bundle.js // my main library build
/dist/app.worker.js // my worker build

当我尝试在 react-application 上导入我的库时,我的库尝试像这样加载 worker: http://localhost:3000/dist/app.worker.js。 这显然失败了,因为它位于node_modules/.../dist/app.worker.js

我可能没有正确使用 worker-loader。

感谢您的帮助

【问题讨论】:

    标签: javascript webpack web-worker worker-loader


    【解决方案1】:

    好的,我刚刚发现了问题。 我不知道为什么,但问题与纱线链接有关。如果我将 package.json 中的 link: 替换为 file:,则不再有问题。

    另一个(非最佳)解决方案是使用 inline:true。

    有人知道 yarn link 的解决方案或解决方法吗? 谢谢!

    【讨论】:

    • 你能详细说明一下吗?我遇到了同样的问题,但我使用的是 npm,并且我的 package.son 中没有任何 link 属性。当您说使用inline: true 时,您的意思是在worker-loader 的选项中吗?
    猜你喜欢
    • 2018-05-08
    • 1970-01-01
    • 2014-11-07
    • 2021-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-07
    • 2020-04-22
    相关资源
    最近更新 更多