记录下如何对uni-app项目进行多环境打包部署改造
# 环境区分
官方文档说明:
开发环境和生产环境
uni-app 可通过 process.env.NODE_ENV 判断当前环境是开发环境还是生产环境。一般用于连接测试服务器或生产服务器的动态切换。
在HBuilderX 中,点击“运行”编译出来的代码是开发环境,点击“发行”编译出来的代码是生产环境
# 解决方案
- 使用基于vue-cli命令行方式创建项目
- 添加必要的环境变量, VUE_APP_ 起始,例如 VUE_APP_BASE_API
即在项目根目录新建不同环境的变量配置文件,并分别写入环境所需配置- .env.development
- .env.test
- .env.production
- 然后可以通过 VUE_APP_BASE_API 访问
例如:在项目内请求接口的地方设置 baseurl 为 process.env.VUE_APP_BASE_API - 修改 package.json
增加以下脚本,在启动或者打包时以切换不同服务器(不一定完全按照下方设置)。
这里的需求是在开发模式启动时方便切换开发、测试、生产环境的数据库方便验证问题,以及发行至各环境
"build:h5": "cross-env NODE_ENV=production UNI_PLATFORM=h5 vue-cli-service uni-build",
"build:h5-test": "cross-env NODE_ENV=test UNI_PLATFORM=h5 vue-cli-service uni-build",
"build:h5-dev": "cross-env NODE_ENV=development UNI_PLATFORM=h5 vue-cli-service uni-build",
"dev:h5": "cross-env NODE_ENV=production UNI_PLATFORM=h5 vue-cli-service uni-serve --watch",
"dev:h5-test": "cross-env NODE_ENV=test UNI_PLATFORM=h5 vue-cli-service uni-serve --watch",
"dev:h5-dev": "cross-env NODE_ENV=development UNI_PLATFORM=h5 vue-cli-service uni-serve --watch",
- 最后像普通vue项目一样使用就行了
npm run dev:h5-test