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å.