首页 > 解决方案 > 如何从 Typescript 进行 webworkify?

问题描述

您如何在 Typescript 模块中通过 webworkify 导入/需要网络工作者?

我有一个src/index.ts赞:

var webworkify = require('webworkify');
var worker = webworkify(require('./worker.js'));

...

和一个test/test.ts喜欢:

import MyPackage from '../src';

...

这在 .js 导出的文件中完美运行tsc。但是,当我尝试使用mocha -r ts-node/register test/test.ts它运行测试时,会出现错误:

Error: Cannot find module './worker.js'

如果我将我的修改index.ts为:

var webworkify = require('webworkify');
import * as Worker from './worker';
var worker = webworkify(Worker);

...

它修复了模块错误,但随后失败并出现 webworkify 错误:

TypeError: Cannot convert undefined or null to object
    at Function.keys (<anonymous>)
    at module.exports (/projects/test/node_modules/webworkify/index.js:9:28)
    at Object.<anonymous> (/projects/test/src/index.ts:12:14)

为什么 webworkify 不能在 mocha 上工作?如果 Typescript 不支持它,为什么不tsc抱怨呢?有没有办法让它与摩卡一起工作?

标签: node.jstypescriptweb-worker

解决方案


推荐阅读