我正在处理一个拆分为多个 angular 项目的项目。然后我有一些在每个项目中使用的服务。有没有办法在我的项目中加载这些?我尝试这样做时遇到错误。
/root
/project-1
/angular.json
/tsconfig.json
/project-2
/angular.json
/tsconfig.json
/utilities
/src
/auth.service.ts
/s3.service.ts
/lambda.service.ts
我在 angular 项目 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"
},
}
答案 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"
]
}