javascript - Creează un alias de cale pentru fișier(e) din afara proiectului
Lucrez la un proiect care este împărțit între mai multe proiecte Angular. Apoi am niște servicii care sunt folosite în fiecare proiect. Există o modalitate să le încarc în proiectul meu? Primesc erori când încerc să fac acest lucru.
/root
/project-1
/angular.json
/tsconfig.json
/project-2
/angular.json
/tsconfig.json
/utilities
/src
/auth.service.ts
/s3.service.ts
/lambda.service.ts
Am acest lucru în fișierul tsconfig.json din rădăcina proiectelor Angular (project-1, project-2):
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@utilities/*": [
"../utilities/src/*"
]
}
}
}
când rulez npm start în project-1, primesc următoarele erori:
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...
În fișierul meu 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"
},
}
Răspuns #1
Am găsit o modalitate de a face acest lucru. În folderul utilities fă-l un link cu npm link. Apoi, în folderul project-1 leagă-te de proiect cu npm link utilities.
Apoi a trebuit să adaug câteva căi și includeri în tsconfig.json pentru referințe:
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@utilities/*": [
"node_modules/utilities/src/*"
]
}
},
"include": [
"node_modules/utilities/src/**/*.ts"
]
}
