vue正式环境与测试环境压包配置方法

2023-11-04

1.安装cross-env

cnpm install --save-dev cross-env
  1. package.json配置修改
    这里分别添加env_config=prod,env_config=dev来控制当前的压包环境
package.json
"scripts": {
-  "build": "node build/build.js", 
+  "build:prod": "cross-env env_config=prod node build/build.js", 
+  "build:dev": "cross-env env_config=dev node build/build.js" }
  1. 创建接口配置文件
src/apiUrl.js
const master = {  
    gameListAPI: 'http://',  
    
};
    const dev = { 
    gameListAPI: 'http:', 
    };
2/4
module.exports = { master, dev };
  1. webapck配置修改
    本地测试
bulid/webpack.dev.conf.js
// ... 
const portfinder = require('portfinder')
    + const api = require('../src/apiUrl'); 
    + const env = require('../config/dev.env'); 
    + env.api = "'" + JSON.stringify(api.dev) + "'"; 
    // ...
    // ...
new webpack.DefinePlugin({
    - 'process.env': require('../config/dev.env') 
    + 'process.env': env 
}), // ...
压包
build/webpack.prod.conf.js
// ... 
const env = process.env.NODE_ENV === 'testing'  ? require('../config/test.env')  : require('../config/prod.env')
    + const api = require('../src/apiUrl');
    + if(process.env.env_config === 'prod') { 
    +  env.api = "'" + JSON.stringify(api.master) +"'";
    + } else if(process.env.env_config === 'dev') {
    +  env.api = "'" + JSON.stringify(api.dev) + "'"; 
} 
// ...
  1. 获取各自接口地址
src/api.js
// ...
3/4
+ let api; 
// api接口地址 
if (process.env.NODE_ENV === 'production' && process.env.env_config === 'prod') { 
     // opapprelease master分支   
    api = JSON.parse(process.env.api); 
      gameListAPI = api.gameListAPI; 
    }else if (process.env.NODE_ENV === 'production' && process.env.env_config === 'dev') {
   // opapprelease dev分支 
    api = JSON.parse(process.env.api);
   gameListAPI = api.gameListAPI;
 } else {
   // 本地测试-测试接口 
   api = JSON.parse(process.env.api); 
   gameListAPI = api.gameListAPI;
} 
// ...
  1. 压包命令
    生产环境压包
npm run build:prod

测试环境压包

npm run build:dev

4/4
本地测试

npm run dev
  1. 项目构建配置修改(此环境构建属于自动部署服务下的环境变量的配置)
    先登录vue项目构建系统。
    进入对应项目配置,修改为现在的压包命令
release
- x64/bin/cnpm run build:prod
dev
inux-x64/bin/cnpm run build:dev
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue正式环境与测试环境压包配置方法 的相关文章

  • Vue校验时报Cannot read property ‘validate’ of undefined错误

    Error in v on handler TypeError Cannot read properties of undefined reading validate 解决 1 传值的时候 要带引号
  • echarts:折线图、柱状图、饼图轮播提示数据

    文章目录 前言 一 如何使用echarts折线图轮播展示数据信息 二 引用插件 三 插件的使用 前言 随着可视化屏幕的快速发展 越来越多的政府和企业开始使用可视化系 由于可视化系统是用户直观感受到的数据 不需要用户手动点击屏幕就可获取的数据
  • element基础详情页-文本描述组件

    欢迎点击领取 前端面试题进阶指南 前端登顶之巅 最全面的前端知识点梳理总结 分享一个使用比较久的 最新版本element ui 已支持详情描述组件 直接使用即可 前言 对于常做topB系统的小伙伴们 基础信息详情页是最常见不过的 使用 只是
  • Vue开发环境搭建和vue-cli脚手架

    vue本质是一个js脚本 提供了一个前端框架 在开发时 可以直接引入这个js脚本 也可以使用脚手架工具 在本地搭建一个项目 Vue js安装 方法一 在 Vue js 的官网上直接下载 vue min js 并用
  • ant design中如何在表头中加个Icon和排序,悬浮icon又触发Tooltip

    欢迎点击领取 前端面试题进阶指南 前端登顶之巅 最全面的前端知识点梳理总结 分享一个使用比较久的 需求 本篇文章适用于表头同时添加悬浮和排序 另 只需支持文字悬浮对title封一层方法即可eg const TooltipTitle text
  • element-ui 的 dialog 实现拖拽、水平伸缩、双击头部放大

    import Vue from vue 使用 elementUI 的 dialog 上加上 v dialogDrag 指令就可以实现弹窗的全屏和拉伸了 给 dialog 设置 close on click modal false 禁止点击遮
  • vue正式环境与测试环境压包配置方法

    1 安装cross env cnpm install save dev cross env package json配置修改 这里分别添加env config prod env config dev来控制当前的压包环境 package js
  • vscode下载和安装教程和配置中文插件(超详细)

    目录 前言必读 一 下载步骤 二 安装步骤 vscode安装设置完成 三 安装中文插件 额外的 四 设置vue高亮代码 额外的 前言必读 读者手册 必读 云边的快乐猫的博客 CSDN博客 前言 vscode主要是用于前端的编程工具 其他编程
  • ant design Table实现可编辑的单元格

    欢迎点击领取 前端面试题进阶指南 前端登顶之巅 最全面的前端知识点梳理总结 分享一个使用比较久的 需求 最近接到的一个需求 在table栏中实现属性的可编辑单元格 并且table内部可动态删减的单元格 外部操作新增或删除一行新旧数据的操作
  • 浅谈require和import

    最近在学习webpack时候 教程上用到的是require 但是之前我写代码用的Import比较多 所以借这个机会来学习一下 node编程中最重要的思想就是模块化 import和require都是被模块化所使用 遵循规范 require 是
  • Node.js到底是什么?

    前言 Node js是一个基于Chrome V8引擎的JavaScript运行环境 JavaScript是脚本语言 脚本语言需要一个解析器 运行环境 才能运行 若运行在浏览器中 则浏览器就是JavaScript的解析器 运行环境 而对于独立
  • 阿里云图标使用 (symbol 引用方式)

    阿里云图标网址 https www iconfont cn 一 登录注册 这个简单 就不说了 二 给当前项目找图库 2 1 添加项目 2 2 寻找图标添加入库 添加入库 2 3 打开入库 的图标添加到指定项目 添加到当前项目 1 2 三 项
  • vue2引入Element UI组件去创建新页面的详细步骤--项目阶段2

    目录 一 Element UI介绍 Element UI的特点 二 下载配置Element UI 零 创建vue项目 一 下载Element UI依赖 二 全局文件main js中引入Element UI 三 删除多余的东西 一 删除App
  • 关于echarts 图,在切换tab后,返回时宽度变窄的问题

    项目场景 提示 这里简述项目相关背景 最近在做一个统计报表的项目 需要插入ECharts 图表和表格做统计 并且可以导出Excel 表格 问题描述 提示 这里描述项目中遇到的问题 在开发过程中 碰到了一个 echarts 图在切换到 tab
  • React v16.3新生命周期、性能优化及注意事项

    欢迎点击领取 前端面试题进阶指南 前端登顶之巅 最全面的前端知识点梳理总结 React Version 16 3版本对组件的生命周期函数进行了一些修改 在每个react组件中都有以下几个生命周期方法 我们应该掌握最新生命周期 学以致用 以达
  • vue-element-admin+flask实现数据查询项目

    本文分享一个使用vue element admin flask实现的一个数据查询项目 填写数据库连接信息和查询语句 即可展示查询到的数据 前提 已下载vue element admin并编译成功 前端 1 添加路由 src router i
  • vue组件库的开发流程

    欢迎点击领取 前端面试题进阶指南 前端登顶之巅 最全面的前端知识点梳理总结 开发流程 1 创建项目 vue cli 公司现有架构 2 调整项目静态目录结构 3 使用webpack相关库模式打包编译 4 使用npm或者公司源地址发布到你需要的
  • canvas绘制一个圆分成六等分颜色随机

  • vue项目日期处理day.js

    dayjs安装 1 npm 安装 npm install dayjs save 2 项目使用 import dayjs from dayjs ES 2015 dayjs format 使用介绍 1 秒 获取或设置秒 接受0到59的数字 如果
  • vue项目日期处理day.js

    dayjs安装 1 npm 安装 npm install dayjs save 2 项目使用 import dayjs from dayjs ES 2015 dayjs format 使用介绍 1 秒 获取或设置秒 接受0到59的数字 如果

随机推荐

  • DWORD类型

    DWORD 类型基本相关 DWORD 宏定义 typedef unsigned long DWORD 1 要使用DWORD要添加头文件
  • 【好题】第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛 G-Num 思维+推公式

    题 推公式 a b a b a b 1 b a b 1 b 1 1 a 1 b 1 1 因此 令n 若n为质数 说明没有一个 a 1 b 1 可以组成它 就输出No 代码 include
  • Unity入门教程

    一 介绍 目的 通过尝试制作一款使用玩家角色把小球弹飞的简单小游戏 熟悉使用Unity进行游戏开发的基本流程 软件环境 Unity 2017 3 0f3 Visual Studio 2013 二 创建新项目 1 启动Unity后将出现一个并
  • Source Insight 4下载及中文乱码解决

    Source Insight 4 00 0121含补丁和许可证激活码 source insight 4下载链接 https www sdbeta com wg 2019 0621 230136 html 梳理 先配置整个工程为GB2312
  • 知乎越来越无聊了,真是想破了脑袋找可以装逼的地方!

    什么有一个优秀的女友是什么感觉 有个青梅竹马的女友又是什么感觉 你不如说和优秀的女友操B做爱是什么感觉 反正操多了就是那么回事 对不对 最烦这些装逼的家伙
  • Springboot 性能优化(亲测)——SpringBoot学习

    SpringBoot 是一个快速开发框架 能够快速的整合第三方框架 简化XML配置 全部采用注解形式 内置Tomcat容器 帮助开发者能够实现快速开发 SpringBoot的Web组件 默认集成的是SpringMVC框架 尽管 Spring
  • 完整实现 - 通过 DelayQueue 实现延时任务

    一 DelayQueue 的应用原理 二 订单延时任务的实现 三 订单处理 四 优缺点 实现延时任务有很多的方法 网上关于延时任务的实现的文章已经不少了 比如 实现延时任务的 10 种方法等等 但是这些文章基本上都是将方法大概的列举一下 给
  • 树(实现树的从上到下,从左到右遍历)

    具体描述 从上往下打印出二叉树的每个节点 同层节点从左至右打印 整体思想 借助一个队列进行实现 include
  • 开发微服务电商项目演示(五)

    登录方式调整 第1步 从zmall common的pom xml中移除spring session data redis依赖 注意 本章节中不采用spring session方式 改用redis直接存储用户登录信息 主要是为了方便之后的jm
  • 论文阅读笔记:Masked Autoencoders Are Scalable Vision Learners

    论文阅读笔记 Masked Autoencoders Are Scalable Vision Learners 摘要 介绍 实现 MASKING MAE编码器 MAE解码器 简单的实现 在 ImageNet 上的简单测试 Baseline
  • vue el-tabs中的分页 每个互不影响

    tabs展示 重点看分页
  • 冒泡排序+怎么计算时间复杂度

    冒泡排序的基本思想 时间复杂度为O N 2 每次比较两个相邻元素 如果他们的顺序错误就把它们交换过来 举个栗子 例如我们需要将 12 35 99 18 76 5个数进行从大到小排序 既然是从大到小排序 也就是越小越靠后 首先比较第一个数和第
  • vue组件props传值,对象获取不到的问题

    先说问题 父组件利用props向子组件传值 浏览器console有这个值 但是获取不到内部的属性 困了我3个小时 真的 父组件定义了personal这个值 在父组件接口中给这个值重新赋值 子组件接受这个值 浏览器console能看到这个值
  • 韩国100m无限流量服务器,CloudCone:$59/月独立服务器/X3363/8GB/2TB/100M无限流量/洛杉矶机房...

    Intel Xeon X3363 4 Cores 2 83 GHz 8GB RAM 2 TB HDD or 240 GB SSD 100 Mbps Unmetered 29 IPv4 5 IPs 64 IPv6 69 MO Limited
  • Spring Boot 如何处理国际化

    Spring Boot 国际化 在全球化的今天 很多应用程序需要支持多种语言和地区 为了满足不同用户的需求 应用程序需要提供多语言的支持 Spring Boot 提供了强大的国际化支持 使得开发人员能够轻松地为应用程序添加多语言支持 本文将
  • Flutter的Stack和Positioned的控件

    简介 Flutter中的Stack控件是一种可用于将多个子控件重叠在一起的布局控件 Stack将所有子控件放在同一个位置 它们可以根据需要进行定位 缩放或旋转 Stack中的子控件可以是任何类型的控件 例如文本 图像 按钮等 主要属性 St
  • ImageRewrad

    ImageReward Learning and Evaluating Human Preferences for Text to Image Generation https arxiv org pdf 2304 05977 pdf ht
  • 雪花算法实现

    文章目录 原理 引入依赖 SnowflakeManager 生成ID SnowflakeProperties 配置 注册SnowflakeManager snowflake的yaml 测试 原理 分别有三部分 其中第一位保留位 暂时没用 第
  • C++全局变量被多次析构导致程序崩溃的问题

    问题描述 1 在静态库libxxx a中定义了一个全局的string对象 2 有多个so文件都连接了这个静态库 并且引用了这个全局变量 3 有一个程序同时加载了多个上述的so文件 4 在这个程序退出时 全局的string就会被多次析构 5
  • vue正式环境与测试环境压包配置方法

    1 安装cross env cnpm install save dev cross env package json配置修改 这里分别添加env config prod env config dev来控制当前的压包环境 package js