在Angular 8中,process.env默认是undefined。这是因为process.env是Node.js的全局变量,而Angular是在浏览器环境中运行的,并没有直接访问Node.js的能力。
如果你想在Angular应用中使用环境变量,你可以使用Angular提供的环境配置文件。
首先,在Angular项目的根目录中找到/src/environments文件夹,里面应该有两个文件:environment.ts和environment.prod.ts。
打开environment.ts文件,你可以定义你的开发环境变量。示例代码如下:
export const environment = {
production: false,
apiUrl: 'http://localhost:3000/api'
};
然后,在environment.prod.ts文件中定义你的生产环境变量。示例代码如下:
export const environment = {
production: true,
apiUrl: 'https://api.example.com'
};
在这里,我们定义了两个环境变量:production和apiUrl。
接下来,在你的组件或服务中,你可以通过导入environment对象来访问这些环境变量。示例代码如下:
import { environment } from '../environments/environment';
export class MyComponent {
apiUrl = environment.apiUrl;
constructor() {
console.log(this.apiUrl); // 输出相应的环境变量的值
}
}
现在,你就可以在Angular应用中使用环境变量了。在开发环境中,process.env将会是undefined,因为它并不是Angular提供的全局变量。相反,你应该使用environment对象来访问你的环境变量。
当你构建你的应用时,Angular会根据你所指定的环境(开发环境或生产环境)自动选择相应的环境配置文件。你可以使用以下命令来构建你的应用:
ng build --configuration=production
这将会使用environment.prod.ts文件中定义的环境变量来构建你的应用。
希望这能帮助到你解决问题!