我在workers.ts
中使用以下代码来加载Bull MQ工作文件。
const worker = new Worker('parse', `${ __dirname }/workers/worker-parse.ts`);
现在,在开发过程中,我使用以下脚本,它工作正常
npx pm2 start src/index.ts --watch
但是当我使用tsc构建时,.ts文件路径将不再起作用,因为它被编译为. js。
这是我的制作剧本
"prod": "tsc && npx pm2 start ecosystem.config.js --env production",
现在我想知道,有没有什么方法可以确保在编译版本中,我的worker脚本将查找worker-parse.js,而不是. ts。
或者在TS中有什么方法可以省略扩展名?(试过了,但不能开箱即用)
1条答案
按热度按时间ef1yzkbh1#
1.尝试在 typescript 中使用
worker-parse.js
。在JS中,这显然是正确的。取决于所使用的解析器(或运行时),可以在TS中工作。例如,对于ts文件导入的nodenext
扩展名为.js
的nodenext
分辨率是regired的,但不知道是否适用于您的确切情况。1.从
import.meta.url
(或__filename
)获取当前文件的扩展名