我想要达到什么目标?
生成环境变量取决于我当前正在弹出项目(ng弹出)上编译的NODE_ENV。
使用Angular Cli定位环境:
ng build --prod || ng build --dev
。
我尝试了什么?
的package.json
...
"start": "NODE_ENV=development webpack-dev-server --port=4200",
"start:prod": "NODE_ENV=production webpack-dev-server --port=4200",
...
根据建议here,我在webpack中更改了我的AotPlugin并将其替换为:
const environmentFiles = {
'development': 'environments/environment.dev.ts',
'production': 'environments/environment.prod.ts',
};
...
new AotPlugin({
...
"hostReplacementPaths":
"environments/environment.ts": environmentFiles[process.env.NODE_ENV]
有什么想法吗?
类似的问题:
Environment file replacement is broken after switching to webpack...
答案 0 :(得分:1)
实际上我只是恢复了我的退出项目并重新使用CLI! 但是......我解决了它只是使用预建脚本将我的环境复制并粘贴到environment.ts中!
"prebuild:dev": "cp environment/environment.dev.ts environment/environment.ts"
您还可以设置NODE变量以将条件应用到代码中:
How to set Environment variables from within package.json [Node.js]
例如:
npm run prebuild:dev
// will build my dev environment
npm run prebuild:prod
// will build my prod environment