javascript - Opprett stivebanenavn for fil(er) utenfor prosjektet
Jeg jobber med et prosjekt som er delt opp mellom flere Angular-prosjekter. Jeg har da noen tjenester som brukes i hvert prosjekt. Finnes det en måte for meg å laste disse inn i prosjektet mitt? Jeg får feil når jeg prøver å gjøre det.
/root
/project-1
/angular.json
/tsconfig.json
/project-2
/angular.json
/tsconfig.json
/utilities
/src
/auth.service.ts
/s3.service.ts
/lambda.service.ts
Jeg har dette i roten av Angular-prosjektenes tsconfig.json-fil (prosjekt-1, prosjekt-2):
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@utilities/*": [
"../utilities/src/*"
]
}
}
}
når jeg kjører npm start i project-1, får jeg følgende feil(er):
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...
I min 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"
},
}
Svar #1
Jeg har funnet ut en måte å gjøre dette på. I utilities-mappen gjør du det til en lenke med npm link. Deretter, i project-1-mappen, linker du til prosjektet med npm link utilities.
Jeg måtte deretter legge til noen stier og inkluderer i tsconfig.json for referanser:
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@utilities/*": [
"node_modules/utilities/src/*"
]
}
},
"include": [
"node_modules/utilities/src/**/*.ts"
]
}
