![](/img/trans.png)
[英]Bazel Typescript - Cannot find ts_library Referenced by module_name
[英]Issue with typescript path resolution. (Error: Cannot find module '[module_name]')
我有一個帶有 typescript 的節點項目設置。 一切都很好,但最近我一直想實現路徑解析。 為什么這么麻煩?
這是我的項目架構:
└───src
├───models
├──────Person.ts
├───query
├──────index.ts
└───index.ts
├───package.json
└───tsconfig.json
我的 tsconfig 設置如下:
{
"compilerOptions": {
"moduleResolution": "node",
"rootDir": "./src",
"outDir": "./build",
"baseUrl": "./src",
"paths": {
"@models/*": [ "models/*" ]
}
},
"exclude": [ "node_modules", "build" ],
"include": [ "src/**/*.ts" ],
}
在 VS 代碼中一切正常。
我可以使用以下方法輕松地從我的索引文件中導入 Person.ts:
import Person from '@models/Person'.
tsc 構建時沒有任何錯誤或警告。
但是當我跑步時
node build/index.js
它給了我以下錯誤:
Error: Cannot find module '@models/Person'
在 typescript 編譯之后,似乎路徑沒有正確轉換。
任何想法?
這是我最終尋求的解決方案:
我已將cross-env和tsconfig-path添加到我的package.json
中。
允許我像這樣運行我的項目:
"scripts": {
"start": "cross-env TS_NODE_BASEURL=./build node --require tsconfig-paths/register ./build/index.js",
"build": "tsc",
"watch": "tsc-watch --onSuccess \"yarn start\""
},
請注意,我使用cross-env
環境 package 只是因為我在 windows 上。
我仍然不明白為什么路徑解析不是 typescript 編譯所固有的,但無論如何。 它就像一個魅力! 在 Linux 和 Windows 上
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.