node.js - Kan inte hitta namnet 'process' angular 5
Efter att ha sett alla svar, hjälpte ingenting mig...
baseUrl.interceptor.ts
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
let baseurl = process.env.baseurl || 'http://test.com/users';
console.log(baseurl);
return next.handle(req);
}
tsconfig.json
"typeRoots": [
"node_modules/@types"
]
package.json
"dependencies": {
"@angular/animations": "^5.1.0",
"@angular/common": "^5.1.0",
"@angular/compiler": "^5.1.0",
"@angular/core": "^5.1.0",
"@angular/forms": "^5.1.0",
"@angular/http": "^5.1.0",
"@angular/platform-browser": "^5.1.0",
"@angular/platform-browser-dynamic": "^5.1.0",
"@angular/router": "^5.1.0",
},
"devDependencies": {
"@angular/cli": "1.6.4",
"@angular/compiler-cli": "^5.1.0",
"@angular/language-service": "^5.1.0",
"@types/jasmine": "~2.8.3",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",
"codelyzer": "^4.0.1",
...
"ts-node": "~3.2.0",
"tslint": "~5.9.1",
"typescript": "~2.5.3"
}
Och ett fel nedan:
Snälla, hjälp mig någon...
Svar #1
process är en variabel som ger dig tillgång till din server.
Under inga omständigheter ska du använda det i din Angular-applikation: det är gjort för att användas på din Node-server.
Om du gör det innebär det att vem som helst som kör din applikation kan se dina miljövariabler. Det inkluderar till exempel dina API-nycklar.
Svar #2
Jag sätter upp min miljö inom Angular med en dotenv-fil, jag vet inte om det här är samma situation som du har. Det är där jag begär mina miljövariabler.
Jag satte upp miljöfilerna dynamiskt med ett Node-skript innan kompileringstid med fs.writeFile. Där kan jag få process.env och tack vare npm-paketet 'dotenv' också.
