vue-cli3多项目整合到一个项目中维护打包发布
一. 概述二. 方案三. 实现步骤
·
一. 概述
我们公司运营项目需要做前后端分离,目前维护起来太费时,样式不统一,菜单混乱。
考虑了两个方案:
- [ 放弃 ] 所有系统整合到一个新系统boss中,后期项目越来越大,新增一个小功能,需要编译打包整个boss系统,增加了其他系统打包风险;
- [ 采用 ] 子系统整合到一个新系统boss中,每个子系统可以单独运行,编译,打包。方便后期每个子系统维护。新增功能,只需要打包该子系统。
多项目整合到一个项目中,方便后期统一管理,ui风格统一,只配置一个git仓库就可以了。
二. 实现方案
1. 项目目录
2. 子系统目录
3. 打包运行配置文件
在项目根目录下新建一个config目录,在新建一个projectsConfig.js文件。
const config = {
screen1_m_s: {
pages: {
index: {
entry: 'src/projects/screen1_m_s/main.js',
template: 'public/index.html',
filename: 'index.html'
}
},
devServer: {
port: 8085, // 端口地址
open: false, // 是否自动打开浏览器页面
host: '0.0.0.0', // 指定使用一个 host,默认是 localhost
https: false, // 使用https提供服务
disableHostCheck: true,
// 设置代理
proxy: {
'/open_api': {
target: '接口地址',
changeOrigin: true
}
}
}
},
auth1_m_s: {
pages: {
index: {
entry: 'src/projects/auth1_m_s/main.js',
template: 'public/index.html',
filename: 'index.html'
}
},
devServer: {
port: 8080, // 端口地址
open: false, // 是否自动打开浏览器页面
host: '0.0.0.0', // 指定使用一个 host,默认是 localhost
https: false, // 使用https提供服务
disableHostCheck: true,
// 设置代理
proxy: {
'/auth_api': {
target: '接口地址',
changeOrigin: true,
pathRewrite: {
// '^/auth_api': ''
}
}
}
}
}
}
module.exports = config
4. pageage.json 配置子系统打包命令,运行命令
五. vue.config.js配置
/*eslint-disable */
const path = require("path")
const config = require("./config/projectsConfig.js") // 引入子系统运行打包配置
let projectName = process.env.PROJECT_NAME // 获取package.json中scripts配置的变量
function resolve(dir) {
return path.join(__dirname, dir)
}
module.exports = {
...config[projectName],
lintOnSave: true,
// 基本路径
// baseUrl: './',//vue-cli3.3以下版本使用
publicPath: "./", // vue-cli3.3+新版本使用
// 输出文件目录
outputDir: "dist/" + projectName + "/",
// eslint-loader 是否在保存的时候检查
lintOnSave: true,
// 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。
assetsDir: "static"
}
更多推荐
已为社区贡献22条内容
所有评论(0)