TypeScript path mapping 編譯后出現Cannot find module的問題


 文件結構:

- src
    - folder1
        - app1.ts
    - folder2
        - app2.ts
- tsconfig.json

tsconfig.json

{
    "compilerOptions": {
        "target": "ES6",
        "module": "commonjs",
        "baseUrl": ".",
        "paths": {
            "@folder2/*": ["src/folder2*"]
        }
    }
}

app1.ts

import xxx from '@folder2/app2';

class app1 {
  
    ......    
  
}

app2.ts

class xxx {
 
   ......   
 
}
 
export default xxx;

編譯后,報錯:Error: Cannot find module '@folder2/app2'。

 

這段代碼在typeScript並沒有檢測到錯誤,但編譯為javascript后,路徑並沒有映射過去。javascript能訪問的路徑應該是../folder2/app2.ts。本身tsconfig.json提供paths這個屬性就是為了解決path hell(../../../../xxx.js)這樣原問題,但是編輯為javascript后卻依然未能解決這個問題。typescript官方至今仍未對這個缺陷作出過任何解釋。

解決這個問題,只能走其它方式:

 項目中引入module-alias。

參考:https://www.npmjs.com/package/module-alias


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM