我已经启动了一个 Angular 7 项目,我正在尝试在 angular.json 上配置“路径映射”以改变我的导入方式:
import { environment } from '../../../environments/environment';
为此:
import { environment } from '@environments/environment';
我已经在根级别的 tsconfig.json 文件中完成了这个配置:
"compilerOptions": {
"baseUrl": "src", // This must be specified if "paths" is.
...
"paths": {
"@app/*": ["app/*"],
"@config/*": ["app/_config/*"],
"@environments/*": ["environments/*"],
"@shared/*": ["app/_shared/*"],
"@helpers/*": ["helpers/*"]
},
...
但是我在cli上也遇到了这个错误
ERROR in src/app/errors/not-foud/not-found.component.ts(2,29): error TS2307: Cannot find module '@environments/environment'
有什么我想念的吗?
最佳答案
使用 angular 9 RC 测试:
更新两个地方:
在项目基础层面让 vscode 开心:
// tsconfig.json
// .\
{
...
"paths": {
"@x/*": [
"x/*"
],
"@web-env/*": [
"src/environments/*"
],
"@web-app/*": [
"./projects/web/src/app/*"
],
}
...
}
在子项目中,更新它以使 cli 快乐:
// app.tsconfig.json
// .\projects\web\tsconfig.app.json
{
...
"baseUrl": "./",
"paths": {
"@web-env/*": [
"src/environments/*"
],
"@web-app/*": [
"src/app/*"
],
}
...
}
关于Angular 7 找不到获取 tsconfig.json 路径映射的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54831406/