网站搜索

node.js - 无法找到名称 'process' angular 5


看了所有答案后,什么也没帮到我……

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"
  }

以及下面的错误:

请,帮帮我,有人吗...

答案#1

process 是一个变量,它让你可以访问你的服务器。

在任何情况下,你都不应该在你的 Angular 应用中使用它:它是为你的 Node 服务器而设计的。

如果你那样做,这意味着运行你的应用程序的任何人都可以看到你的环境变量。例如,这包括你的 API 密钥。

答案#2

我正在使用带有 dotenv 文件的 Angular 设置我的环境,我不知道这是否与你的情况相同。这就是我请求我的环境变量的地方。

我在编译前通过一个 node 脚本动态设置环境文件,使用 fs.writeFile。在那里我可以获取 process.env,也可以通过 'dotenv' npm 包获取。