我尝试使用标准构建 Angular 5 应用程序ng build --prod
命令,我想在中设置基本的API-Urlenvironment.prod.ts
取决于我的价值process.env
变量。
这是我的文件:
export const environment = {
production: true,
apiUrl: `${process.env.BASE_URL}` || 'http://localhost:8070/',
};
但是当我尝试构建应用程序时,出现以下错误:
ERROR in src/environments/environment.ts(7,16): error TS2304: Cannot find name 'process'.
在构建应用程序时,如何根据环境变量设置 API-Url?
Update
根据下面的评论,原始答案并不完全清楚 - Angular 是使用 Angular CLI 构建的,这是一个节点应用程序,但您无法访问process.env
在构建过程中直接从应用程序内部,因为它不是处理作为节点应用程序。
这些概念几乎保持不变,但理解上述内容很重要。
Original
您将无权访问process.env
在 Angular 代码的编译时。
process.env
可供Node
应用程序,而 Angular 应用程序则不然。
您有多种选择:
-
如果确实需要动态,请在构建管道中执行某种任务,以使用正确的值更新环境文件。
-
只需对其进行硬编码并制作几个环境文件来匹配您的每个环境。您可以在 angular-cli.json 中指定您的环境。
选项 2 听起来可能适合您。在这种情况下,您需要将其放入 angular-cli.json 中:
"environments": {
"dev": "path/to/dev/env",
"prod": "path/to/prod/env"
}
并使用以下内容构建您的应用程序ng build --env=prod
.
以下是更深入的信息:https://alligator.io/angular/environment-variables/ https://alligator.io/angular/environment-variables/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)