#javascript #angular #typescript
#javascript #угловой #typescript
Вопрос:
Я работаю над проектом, который разделен между несколькими проектами 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 projects 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:projectsutilitiesnode_modulesbuffer-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"
},
}
Ответ №1:
Я нашел один способ сделать это. В utilities
папке сделайте это ссылкой npm link
. Затем в project-1
папке ссылка на проект npm link utilities
.
Затем мне пришлось добавить некоторые пути и включить в tsconfig.json
for references:
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@utilities/*": [
"node_modules/utilities/src/*"
]
}
},
"include": [
"node_modules/utilities/src/**/*.ts"
]
}