我有一个用Typescript编写的项目,在我本地的开发环境中,我正在使用node-dev和ts-node。我使用child_process的fork方法实例化一个子流程,如下所示:
fork(path.join(__dirname, './worker.ts'));
这很好用,我甚至可以在VS Code中为worker设置断点。
问题是,在构建(转换)我的项目时,因为worker.ts变成了worker.js,所以抛出了一个MODULE_NOT_FOUND异常。最初,mi的想法是在forking (fork(path.join(__dirname, './worker'));)时忽略文件扩展名,但如果我这样做了,当使用node-dev运行项目时,它会抛出一个MODULE_NOT_FOUND,因为如果扩展名不存在,它就不能解析文件。
有什么解决方法吗?也许可以为node-dev提供额外的配置选项
我在使用node v12.22.1的Windows 10上
发布于 2021-08-28 07:16:39
我建议的一个简单的解决方案是读取当前的文件类型。编译后的文件应该以".js“结尾,而源文件应该以".ts”结尾。结合使用path.extname methode和__filename,您可以轻松地提取该文件扩展名,并将其连接到您的文件名。
fork(path.join(__dirname, './worker' + path.extname(__filename)));https://stackoverflow.com/questions/68954945
复制相似问题