TypeScript - worker_threads 中的 tsconfig 路徑
我正在啟動一些 node 工作程序,並且需要每個工作程序從 tsconfig 的 paths 編譯器選項中表達的路徑拉取代碼。如何配置工作程序以識別 tsconfig 中的路徑?
這是我創建一個 Worker 的方式:
const workerTs = (ordinalPosition: number, file: string, workerOptions: WorkerOptions): Worker =>
{
workerOptions.eval = true;
if (!workerOptions.workerData)
{
workerOptions.workerData = {};
}
workerOptions.workerData.__filename = file;
workerOptions.workerData.blsSalaryArray = blsSalaryArray;
workerOptions.workerData.dataToProcess = chunks[ ordinalPosition ];
return new Worker(`
const wk = require('worker_threads');
require('ts-node').register();
let file = wk.workerData.__filename;
delete wk.workerData.__filename;
require(file);`,
workerOptions
);
};
這是我收到的錯誤訊息:
{
diagnosticText: "... Cannot find module '@datastop-io/datastop-io-libraries' or its corresponding type declarations.\r\n",
diagnosticCodes: [ 2307 ]
}
這是我在 tsconfig.base.json 中的路徑配置:
{
"compilerOptions":
{
"paths":
{
"@datastop-io/datastop-io-libraries":["libs/datastop-io-libraries/src/index.ts"]
}
}
}