拆分出多个项目并部署在同一域名下

目前公司的一个项目中包含多个子项目,并且是在一个项目中启动,这导致了每次jenkins每次构建都要重复构建没有变动过的子项目,造成不必要的操作。
所以需求是把项目中的多个子项目单独拆开,并且部署在同一域名下,多个子项目共用一个登录页。
各个子项目虽然是 独立开发独立部署的,这样一来就有一个问题,子项目是没有登录的,在生产环境下是可以在同一域名下跳到登录页,但是开发环境的话,需要登录验证的话该怎么办呢?
这个问题我暂时还没想到特别好的解决办法,只是在线上登录一下,取得token,放到本地缓存里…希望得到各位大神指点。

1. 在子项目的router中设置 base,给域名后多加一个子项目的路径名称
import Router from "vue-router";

export default new Router({
  base: '/admetric/',
  mode: "history",
  routes: [... //省略其他设置]
}]
2. 在子项目的config/index中,修改assetsPublicPath,构建后的输出路径名称
module.exports = {
  dev: {
    // Paths
    assetsSubDirectory: 'static',
    assetsPublicPath: '/admetric',
    proxyTable: {},

    // Various Dev Server settings
    host: 'localhost', // can be overwritten by process.env.HOST
    //端口
    port: 8088, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
    //自动打开浏览器
    autoOpenBrowser: true,
    ...... //省略其他设置
  }
}
三、设置jenkins的构建后的目标文件为主项目的dist文件夹下
  1. … 具体配置请百度噻
  2. 用 nginx配置也可
server{
	listen: 80,
	root: usr/local/test/nginx/common/dist/,
	... //省略其他设置
	location /adex{
		try_files $uri $uri/ /common/dist/adex/index.html; 
	},
	location /codem{
		try_files $uri $uri/ /common/dist/codem/index.html; 
	},
	location /codem2 {
		try_files $uri $uri/ /common/dist/codem2/index.html;
	},
	location /{
		try_files $uri $uri/ /common/dist/index.html;
	}
}

这里的nginx 配置简化了,如果想要深入了解的,可以参考nginx官网哈~

你可能感兴趣的:(js,基础)