javascript - 为项目外的文件创建路径别名
问题描述
我正在研究一个在多个角度项目之间拆分的项目。然后我有一些在每个项目中使用的服务。有没有办法让我在我的项目中加载这些?当我尝试这样做时,我遇到了错误。
/root
/project-1
/angular.json
/tsconfig.json
/project-2
/angular.json
/tsconfig.json
/utilities
/src
/auth.service.ts
/s3.service.ts
/lambda.service.ts
tsconfig.json
我在角度项目文件(project-1,project-2)的根目录中有这个:
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@utilities/*": [
"../utilities/src/*"
]
}
}
}
当我运行npm start
时project-1
,我收到以下错误:
Error: ../utilities/node_modules/buffer-equal-constant-time/index.js
Module not found: Error: Can't resolve 'buffer' in 'C:\projects\utilities\node_modules\buffer-equal-constant-time'
// Same error repeated for different modules...
在我的utilities/package.json
{
"dependencies": {
"@angular/core": "^11.0.5",
"@aws-sdk/client-cognito-identity": "^3.0.0",
"@aws-sdk/client-lambda": "^3.0.0",
"@aws-sdk/credential-provider-cognito-identity": "^3.0.0",
"jsonwebtoken": "^8.5.1",
"rxjs": "^6.6.3",
"tslib": "^2.0.0"
},
}
解决方案
我想出了一种方法来做到这一点。在utilities
文件夹中将其设为链接npm link
。然后在project-1
文件夹中链接到项目npm link utilities
。
然后我不得不添加一些路径并包含在tsconfig.json
参考中:
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@utilities/*": [
"node_modules/utilities/src/*"
]
}
},
"include": [
"node_modules/utilities/src/**/*.ts"
]
}
推荐阅读
- list - 如何使用 findall/3 内联目标(仅使用一个谓词)?
- python - 单个函数的可变参数数量
- python - 使用前几天同一小时的平均值填充 NaN
- android - 我清除了我的 android studio 项目的缓存,现在我的项目没有运行
- mysql - 计算每年开始和结束日期之间的天数
- r - 为什么我在 R 中的预测函数没有考虑到数据的上升趋势
- mysql - 如何通过查询从组中获取基于最新日期的最高价格
- php - imap_fetchbody 函数不获取所有电子邮件
- powershell - Powershell脚本创建运行干净的mgr而不删除压缩文件
- regex - 正则表达式只是字符串中的最后一个数字