vue 不同环境打包指令的配置(vue-cli2、vue-cli3、vite)

2024-04-09 07:36

本文主要是介绍vue 不同环境打包指令的配置(vue-cli2、vue-cli3、vite),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一个项目可能会有开发版本、上线版本、测试版本等等多个版本,不同的环境会有不同请求api接口,就需更改一些基本配置,这时候为不同环境配置不同的打包指令就很必要。

一、vue-cli2

1、安装 cross-env,它可以处理 windows 和其他 Unix 系统在设置环境变量的写法上不一致的问题。

npm i --save-dev cross-env

2、配置不同环境下的文件和参数,在 config 目录下创建test.env.js、prod.env.js、dev.env.js 文件并修改文件内容:

test.env.js:测试环境

'use strict'
module.exports ={ NODE_ENV: '"test"',EVN_CONFIG:'"test"',API_ROOT: '"xxx"'
}

prod.env.js:生产环境

'use strict'
module.exports = { NODE_ENV: '"production"',EVN_CONFIG:'"prod"',API_ROOT:'"xxx"'
}

API_ROOT 是后端接口服务IP或者域名。


3、打开 package.json 文件,在 scripts 里面配置指令名称

"scripts": { "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js","start": "npm run dev","build": "node build/build.js","build:test": "cross-env NODE_ENV=test env_config=test node build/build.js","build:prod": "cross-env NODE_ENV=production env_config=prod node build/build.js",}

4、打开 config / index.js 文件,在 build 最上面添加 prodEnv、testEnv,这里的参数会在build/webpackage.prod.conf.js中使用到
 

build: { prodEnv: require('./prod.env'),testEnv: require('./test.env'),index: path.resolve(__dirname, '../dist/index.html'),}//下面内容不需要修改

5、打开 build/webpackage.prod.js 文件,调整env常量的生成方式

//仅修改 env 
const env = config.build[process.env.env_config+'Env'];
//process.env.env_config+'Env' ==> prodEnv、testEnv

6、打开 build / build.js 文件,修改 spinner 的定义

'use strict'
require('./check-versions')()
//process.env.NODE_ENV = 'production'
const ora = require('ora')
const rm = require('rimraf')
const path = require('path')
const chalk = require('chalk')
const webpack = require('webpack')
const config = require('../config')
const webpackConfig = require('./webpack.prod.conf')
//const spinner = ora('building for production...')
var spinner = ora('building for ' + process.env.NODE_ENV + ' of ' + process.env.env_config+ ' mode...' )
spinner.start()
//下面内容不需要修改

7、打包

//测试环境打包
npm run build:test
//生产环境打包
npm run build:prod
二、vue-cli3

1、在 package.json 文件配置指令名称

"scripts": { "dev": "vue-cli-service serve","build": "vue-cli-service build","build:test": "vue-cli-service build --mode test","build:prod": "vue-cli-service build --mode prod"}

2、在 package.json 同级目录下创建 .env.test、.env.prod 文件,以及 config.js 文件,然后修改文件里的内容
.env.test:测试环境

NODE_ENV = 'test'
VUE_APP_TITLE = 'test'

.env.prod :生产环境

NODE_ENV = 'prod'
VUE_APP_TITLE = 'prod'

特别注意:
NODE_ENV = ‘prod’ 和 VUE_APP_TITLE = ‘prod’这个后面千万不要加 “ ; ” 如果加了你在获取 process.env.VUE_APP_TITLE的时候获取到的是 ’prod‘;,在环境判断的时候将会是很大的问题。
config.js:配置不同环境下对应的接口域名
 

let baseUrl = ''
switch (process.env.VUE_APP_TITLE) { case 'test': //测试baseUrl = "http://xxxx"breakcase 'prod': //生产baseUrl = "http://xxxx"breakdefault://本地baseUrl = "http://xxxxt"
}
export default baseUrl;
三、vite

1, 在 package.json 同级目录下创建 .env.test、.env.prod 文件,修改文件里的内容

.env.tese 测试环境

MODE = 'test'
VITE_APP_API=***

.env.prod 生产环境

MODE =production
VITE_APP_API='***'

2.在 package.json 文件配置指令名称

"scripts": {"dev": "vite","build": "npm run build:prod","build:prod": "vue-tsc --noEmit && vite build --mode production","build:test": "vue-tsc --noEmit && vite build --mode test","build:lpt": "vue-tsc --noEmit && vite build --mode lpt","build:dev": "vue-tsc --noEmit && vite build --mode development","serve": "npm run build && vite preview","lint": "eslint \"src/**/*.{vue,ts}\" --fix"},

这篇关于vue 不同环境打包指令的配置(vue-cli2、vue-cli3、vite)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/887551

相关文章

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资