一、ionic3中多环境配置
- ionic3中是利用@ionic/app-scripts插件来启动应用的,要是node_module里面没有这个插件的话,得手动下载安装:@ionic/app-script
npm install @ionic/app-scripts@latest --save-dev
- 拦截@ionic/app-scripts/config/webpack.config.js根据环境参数设置别名@env/environment;
- 对于最后一步设置config.xml里面动态的版本号,深入了解请看官网config.xml
Hooks
二、ionic4以上中多环境配置
要做一个东西,首先得看官网,官网才是标准的,构建并运行 Angular 应用
有了这基础,才能明白你在做什么;
- 在environments创建三个文件夹,分为生产环境prod,预生产环境staging、还有开发环境。
environment.staging.ts
environment.prod.ts
只有生产环境的production属性为true,其他都是false;为了main.ts里面的判断,
- 修改angular.json文件
build:
因为用到ionic命令;如:ionic cordova build android;所以下面的ionic-cordova-build也要修改
serve同理:
- 动态配置config.xml和ionic3的是一样的,见上面;通过es6-template模板插件与node.js的文件系统读写来重新写了config.xml;一开始可能会报错,可以在before_prepare.js文件里面console.log输出看终端在哪一步出错了。环境配置的ts文件environment对象不要有注释,不然JSON.parse会报错。
- package.json
"ionic:serve:dev": "set NODE_ENV=dev&& ionic serve",
"ionic:serve:staging": "set NODE_ENV=staging&& ionic serve --configuration=staging",
"ionic:serve:prod": "set NODE_ENV=prod&& ionic serve --configuration=production",
"ionic:build:dev": "set NODE_ENV=dev&& ionic cordova run android",
"ionic:build:staging": "set NODE_ENV=staging&& ionic cordova run android --configuration=staging ",
"ionic:build:prod": "set NODE_ENV=prod&& ionic cordova run android --prod",