繁体   English   中英

在 JavaScript web 工作器中加载模块时遇到问题

[英]Trouble loading modules in a JavaScript web worker

我有一个 web worker primes.js ,我想将其分解为较小的文件。 没有任何运气。

我做的第一件事是将 Worker 加载为 type:module:

worker.current = new Worker('primes.js', {type: module})

执行这个工人工作正常。

接下来,我将一些代码从primes.js移动到primeTest.js并导出 function。

...
export function primeTest {...}
...

然后我在primes.js中添加一个 import 语句:

import primeTest from './primeTest'

但是,这会导致 MIME 错误,指出 primeTest 的类型为“文本/HTML”。

如果我将导入语句更改为

import primeTest from './primeTest.js'

MIME 错误消失,没有出现控制台错误,但应用程序在调用 worker 时挂起。 我在 web 工作器中放置了一个调试器语句,但它没有被触发。

如果这很重要,我正在使用 Netlify 的构建/部署脚本。

您使用了命名导出:

export function primeTest {...}

所以你使用了命名导入

import { primeTest } from './primeTest.js'

您还可以使用默认导出:

export default function primeTest {...}

并导入默认

import primeTest from './primeTest.js'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM