TS *_*S B 8 alias compilation reference node.js typescript
从 TypeScript 3 开始,可以使用项目作为给定项目中的引用。
我试图在我的两个个人项目中使用这样的功能,但它不起作用。所以我决定使用给定的示例作为起点:https ://github.com/appzuka/project-references-example
当我启动时npm run build,所有项目都编译成功。然后我决定修改tsconfig.json包Animals文件以包含别名的支持。该文件被修改如下:
{
"extends": "../../tsconfig-base.json",
"compilerOptions": {
"outDir": "lib",
"rootDir": ".",
"baseUrl": ".",
"paths": { "@animals/*": [ "*" ] }
},
"references": [
{ "path": "../core" }
]
}
Run Code Online (Sandbox Code Playgroud)
(在compilerOptions中添加了baseUrl和paths属性)
然后我这样修改了dog.tsx文件的第一次导入:
import { Animal, Size } from @animals/animal;
当我尝试再次构建主项目时,它失败了。错误是:
ERROR in C:\Users\User\Documents\project-references-example\packages\animals\dog.tsx
[tsl] ERROR in C:\Users\User\Documents\project-references-example\packages\animals\dog.tsx(1,30)
TS2307: Cannot find module '@animals/animal' or its corresponding type declarations.
Run Code Online (Sandbox Code Playgroud)
为了使其正常工作,我还需要在主项目上添加别名,如下所示(在tsconfig.json中):
"paths": {
"@animals/*": [ "packages/animals/*" ]
}
Run Code Online (Sandbox Code Playgroud)
是否可以在引用的项目中使用别名,而不必在父项目中指定此类别名?
谢谢你!
| 归档时间: |
|
| 查看次数: |
632 次 |
| 最近记录: |