如何让我的 Ionic 4 Typescript 路径工作?
How can I get my Ionic 4 Typescript paths to work?
我正在使用 Typescript 3.1 将我的 Ionic 3 应用程序升级到 Ionic 4,但是我 运行遇到了 Typescript 路径的问题。
我的 tsconfig.json
中有以下内容:
"paths": {
"@models": [ "src/models/index" ],
"@services": [ "src/services/index" ],
"@shared": [ "src/shared/index" ],
"@app/*": [ "src/app/*" ],
"@models/*": [ "src/models/*" ],
"@services/*": [ "src/services/*" ],
"@shared/*": [ "src/shared/*" ]
},
这是我的 src/tsconfig.app.json
:
"paths": {
"@models": [ "models/index" ],
"@services": [ "services/index" ],
"@shared": [ "shared/index" ],
"@app/*": [ "app/*" ],
"@models/*": [ "models/*" ],
"@services/*": [ "services/*" ],
"@shared/*": [ "shared/*" ]
},
Visual Studio 可以很好地检测文件并且不会给我任何类型的错误,但是当我 运行 ionic serve
时,它找不到任何这些文件。我收到如下错误:
[ng] src/models/jobs/job.model.ts(1,33): error TS2307:
Cannot find module '@models/customers/customer.model'.
对于行:
import { ICustomerModel } from "@models/customers/customer.model";
如何让 ionic serve
遵循我的 Typescript 路径?
我找到了答案。
我需要添加
"baseUrl": ".",
到编译器选项。我添加这个之后,它起作用了。
完整 tsconfig.app.json
:
{
"extends": "../tsconfig.json",
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@models": [ "models/index" ],
"@services": [ "services/index" ],
"@shared": [ "shared/index" ],
"@app/*": [ "app/*" ],
"@models/*": [ "models/*" ],
"@services/*": [ "services/*" ],
"@shared/*": [ "shared/*" ]
},
"outDir": "../out-tsc/app",
"module": "es6",
"types": [ "node" ]
},
"exclude": []
}
我正在使用 Typescript 3.1 将我的 Ionic 3 应用程序升级到 Ionic 4,但是我 运行遇到了 Typescript 路径的问题。
我的 tsconfig.json
中有以下内容:
"paths": {
"@models": [ "src/models/index" ],
"@services": [ "src/services/index" ],
"@shared": [ "src/shared/index" ],
"@app/*": [ "src/app/*" ],
"@models/*": [ "src/models/*" ],
"@services/*": [ "src/services/*" ],
"@shared/*": [ "src/shared/*" ]
},
这是我的 src/tsconfig.app.json
:
"paths": {
"@models": [ "models/index" ],
"@services": [ "services/index" ],
"@shared": [ "shared/index" ],
"@app/*": [ "app/*" ],
"@models/*": [ "models/*" ],
"@services/*": [ "services/*" ],
"@shared/*": [ "shared/*" ]
},
Visual Studio 可以很好地检测文件并且不会给我任何类型的错误,但是当我 运行 ionic serve
时,它找不到任何这些文件。我收到如下错误:
[ng] src/models/jobs/job.model.ts(1,33): error TS2307:
Cannot find module '@models/customers/customer.model'.
对于行:
import { ICustomerModel } from "@models/customers/customer.model";
如何让 ionic serve
遵循我的 Typescript 路径?
我找到了答案。
我需要添加
"baseUrl": ".",
到编译器选项。我添加这个之后,它起作用了。
完整 tsconfig.app.json
:
{
"extends": "../tsconfig.json",
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@models": [ "models/index" ],
"@services": [ "services/index" ],
"@shared": [ "shared/index" ],
"@app/*": [ "app/*" ],
"@models/*": [ "models/*" ],
"@services/*": [ "services/*" ],
"@shared/*": [ "shared/*" ]
},
"outDir": "../out-tsc/app",
"module": "es6",
"types": [ "node" ]
},
"exclude": []
}