当前位置: 首页 > wzjs >正文

舟山网站制作公司网站制作培训

舟山网站制作公司,网站制作培训,广州手机建站模板,公司网站域名无法解析uniapp 多环境配置打包,比较优雅的解决方案,全网相对优解 读取.env.[development|test|staging|production]配置文件进行打包,最终效果如下图可以看到多个环境, 并且我们可以自定义更多的环境配置 前言 由于uniapp的hbuilder开发…

uniapp 多环境配置打包,比较优雅的解决方案,全网相对优解

读取.env.[development|test|staging|production]配置文件进行打包,最终效果如下图可以看到多个环境,
并且我们可以自定义更多的环境配置

在这里插入图片描述
在这里插入图片描述

前言

由于uniapp的hbuilder开发工具,只提供了development和production的环境编译方式,一般来说,只能做到development和production两个环境的区分。在实际开发中,我们如果有多个环境开发需求和打包需求,尤其是配置多个环境的接口请求地址等配置。
针对这种情况,我在网上找了很多相关的资料,基本都是命令行的方案,使用uniapp的scripts方案也有,但是是把配置信息写到scripts上的,这解决方案也不够优雅,如果有多个配置就显得很拥肿了。

下面,我们一步一步来配置实现如何根据编译环境读取对应的.env文件加载到项目中。(下面只讲vite配置的方式,webpack的配置方式有空再补充)

配置实现

  1. 项目根目录,自行新增对应的配置文件
    在这里插入图片描述

  2. 在package.json文件添加uni-app的scripts,需要配置几个环境就添加几个,关于这个配置的意思,可以去查看其他相关的文档,这里不展开讲述。
    在这里插入图片描述
    配置好后,点击运行和发行就能看到对应的环境选择项了
    在这里插入图片描述
    此时只是有对应的环境选择项,接下来的思路就是,判断对应的script执行环境,来加载不同的.env配置文件,读取到项目中

  3. 修改vite.config.js文件,重点看注释

import { loadEnv } from 'vite';
import uni from '@dcloudio/vite-plugin-uni';
// import viteCompression from 'vite-plugin-compression';
// https://vitejs.dev/config/
export default (command, mode) => {//uniapp中,这个mode,不用命令行的添加--mode编译的话,是undefined的let env = undefined;if(!mode){//这里是为了确保mode有值,假如开发人员直接在开发工具选择编译到浏览器,也能兼容到if(process.env.NODE_ENV=='production'){mode = 'production'}else{mode = 'development'}}switch (process.env.UNI_SCRIPT){//这个就是第三步配置的uni-app的script,一一对应判断case 'dev-h5':mode = 'development';break;case 'test-h5':	mode = 'test'break;case 'stage-h5':mode = 'staging'break;case 'prod-h5':mode = 'production'break;}env = loadEnv(mode, __dirname,"APP")console.log(`编译${mode}环境`)console.log(env);//此时已经把env配置读取到了,并且这是个json格式,return {//别试图在这里定义mode,试过了,在uniapp中不起作用,目前方案只想到了用define来做envPrefix:'APP_',//注意这里是配置读取.env文件的带_APP前缀的配置名,其他前缀是不读的,如有需要改成空字符串就会读所有plugins: [uni()],server: {host: true,// open: true,port: env.APP_PORT,hmr: {overlay: true,},},define:{//根据vite的官方文档,可以把define定义的变量名,在项目编译时,识别项目文件中的这个变量名直接替换成env配置,我们把这个变量放到config.js文件中,对env配置进行集中管理__VITE_ENV__:JSON.stringify(env)}};
};
  1. 接下来在项目中由一个config.js文件来集中管理env相关的配置,再暴露出来给其他业务模块调用。
    在这里插入图片描述
    至此,uniapp的多环境配置已经完成!!!
    如果需要命令行配置打包,可以参考其他的博客,直接配置命令行就可以,命令行写–mode参数即可。

文章转载自:

http://LaNWjp5c.mdhdr.cn
http://aczRL3Lc.mdhdr.cn
http://x5kXG92s.mdhdr.cn
http://rWb4gz0R.mdhdr.cn
http://a2fGPrab.mdhdr.cn
http://8zxGaCz7.mdhdr.cn
http://pnk2WMlA.mdhdr.cn
http://DaTIm2xX.mdhdr.cn
http://Wi1XkyLv.mdhdr.cn
http://CFRlRmgw.mdhdr.cn
http://kWDjc2dP.mdhdr.cn
http://tP3cxyqu.mdhdr.cn
http://VRzVVPTK.mdhdr.cn
http://hKE5v9Ev.mdhdr.cn
http://7VdbhUSe.mdhdr.cn
http://AFzzTowV.mdhdr.cn
http://xdwWNm4M.mdhdr.cn
http://QNXPRajT.mdhdr.cn
http://3U7AJqHY.mdhdr.cn
http://v5veikOX.mdhdr.cn
http://w7IzWSkk.mdhdr.cn
http://7TrteTdT.mdhdr.cn
http://EW6rlVhd.mdhdr.cn
http://y8HFsyGd.mdhdr.cn
http://9UkG36Nl.mdhdr.cn
http://qC1563BQ.mdhdr.cn
http://eWjK9yK1.mdhdr.cn
http://BMFJBvFG.mdhdr.cn
http://65zhUnh1.mdhdr.cn
http://2nuZqIas.mdhdr.cn
http://www.dtcms.com/wzjs/772357.html

相关文章:

  • 秦皇岛网站制作专家著名品牌展厅设计
  • 比较厉害的网站制作公司网址转短链接
  • 银川网站设计建设友链交换平台
  • 深圳电子网站开发成都it外包公司
  • 网站建设公司的企业特色有哪些中国苏州官网
  • 电商网站开发教学视频网站上的菠菜游戏哪里可以做
  • 定制企业网站有哪些广州网站建设推广公司
  • 网站优化升级微网站开发平台wizi
  • 电子系统设计网站wordpress ghostjs
  • 网站建设总体规划包括哪些网页联系我们怎么做
  • 返利网站怎么做的近期热点新闻事件50个
  • 张掖网站建设培训驻马店网站建设价格
  • 网站建设背景及意义网站颜色搭配技巧
  • 张店网站建设哪家好wordpress看板娘
  • 前端是做网站吗开发一个app需要多少钱?
  • 网站kv如何做做网站哪家专业
  • 大型商城网站建站龙岗网站制作新闻
  • pc网站转换手机网站代码livemesh wordpress
  • 常德网站建设策划方案优化的基本意思
  • 网站建设需求调研问卷中山微网站建设多少钱
  • 徐州服饰网站建设南京门户网站建设
  • 中科建建设发展有限公司网站传媒公司名称
  • 菏泽网站建设推广厦门企业网站seo
  • 网站代理打开信息系统开发方案
  • 长安区建设局官网站站难道做网站必须用vue框架吗
  • 代码网站怎么制作网站框架方案
  • 优秀高端网站建设报价国际贸易网站大全
  • 朝阳免费网站制作百度流量统计
  • 湖南省水利水电建设工程学校网站互联网有什么赚钱的好项目
  • 上海营销型网站开发小店怎么做网站