TypeScript path mapping 编译后出现Cannot find module的问题

2018/12/20 15:01
阅读数 511

 文件结构:

- 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

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部