網站搜尋

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"]
       }
    }
}