项目内的多环境打包。以及多个项目配置打包

52 篇文章 2 订阅
3 篇文章 0 订阅

一、单个项目多环境配置

1.在根目录创建一下文件
.env 						全局默认配置文件,不论什么环境都会加载合并
.env.development			开发环境配置文件
	 development 	模式用于 vue-cli-service serve
.env.production				生产环境配置文件
	 production 模式用于以下两个script命令  
	 	vue-cli-service build 
	 	vue-cli-service test:e2e
.env.test					测试环境配置文件
	 test 模式用于以下两个script命令 
  		vue-cli-service test:unit 
  		vue-cli-service build --mode test
2.以上配置文件内容为项目某些变量

打包配置

VUE_APP_HOST="/api"			用于所有请求数据的地址前缀(代理后台地址)配置
VUE_APP_HISTORY_MODE="/"	用于启动项目后访问的重定向根目录,如:
	启动的地址 + /  -----  http://localhost:8080 /
	前提在 vue.config.js 配置了 publicPath: process.env.VUE_APP_HISTORY_MODE,
注意:属性名必须以VUE_APP_开头,比如VUE_APP_XXX,详细地址:
https://cli.vuejs.org/zh/guide/mode-and-env.html

代理配置

proxy: {
      '/api': { //这里最好有一个 
          target: 'http://pcb.wttx56.cn:9091/WebAPI/DoWork', // 后台接口域名
          ws: false, //如果要代理 websockets,配置这个参数
          secure: false, // 如果是https接口,需要配置这个参数
          changeOrigin: true, //是否跨域
          pathRewrite: {
              '^/api': ''
          }
      },
}

打包文件所向


outputDir = production
	打包后会在根目录想创建 production 目录存储打包文件,
	前提在 vue.config.js 配置了 outputDir: process.env.outputDir
3.在 package.json 文件内 配置命令
"serve": "vue-cli-service serve",			用于 development 的配置
"build": "vue-cli-service build",			用于 production 的配置
"test": "vue-cli-service build --mode test" 用于 test 的配置

二、多个项目配置

创建子项目配置

vue.config.js 内创建项目配置项

const config = {
	[项目名]: {
		pages: {
			index: {
				entry: "src/main.js",				//页面入口
				template: "public/index.html",		//模板来源
				filename: "index.html"				//在 dist/index.html 的输出
			}
		},
		publicPath: "./",
		devServer: {
			port: 8080, // 端口地址
			open: true, // 是否自动打开浏览器页面
			//host: "0.0.0.0", // 指定使用一个 host,默认是 localhost
			//https: false, // 使用https提供服务
			//disableHostCheck: true,
			// 设置代理
			proxy:{
				'/api': { 
					 target: 'https://wx.lqfast.com/NewAPI/DoWork',
					 changeOrigin: true,
					 ws: true,
					 pathRewrite: {
					   '^/api': ''
					 }
				}
			}
		}
	},
	... ... ...更多项目配置
}
把上面配置项映射出来
let projectName = process.env.PROJECT_NAME; //获取命令执行后的项目名
module.exports = {
	...config[projectName],	//导出配置
	
	// 输出文件目录
	outputDir: projectName ? "dist/" + projectName + "/" : 'dist/'
	
};
在 package.json 配置项目 script 命令
"dev:[项目名]": "cross-env PROJECT_NAME=[项目名] vue-cli-service serve",

如有不足之处,请留言相互学习,谢谢。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值