ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

同一个域名下部署多个前端项目,修改vue-cli 环境变量BASE_URL

2021-05-10 17:03:36  阅读:84  来源: 互联网

标签:index vue URL app html BASE


公司让用vue重构一个angular项目,需要可以在新旧版本间切换,慢慢过渡到只用新版本。

查询Nginx配置,得知

想要在同一个域名下部署多个前端项目,通过不同url来区分调用相应前端项目。
比如:部署项目a,项目b。想要效果如下。
浏览器输入:http://localhost:8082/a/,展示项目a。
浏览器输入:http://localhost:8082/b/,展示项目b。

这样两版共用一个域名,那么这个域名下的cookie等登陆信息就可以共用了,切换版本不用重新登录。

具体配置

location /a/ {
     alias html/app/;
     index  index.html index.htm;
     try_files $uri $uri/ /app/index.html;
}
location /b/ {
     alias html/pc/;
     index  index.html index.htm;
     try_files $uri $uri/ /pc/index.html;
}

vue router:相关配置

base

  • 类型: string

  • 默认值: "/"

    应用的基路径。例如,如果整个单页应用服务在 /app/ 下,然后 base 就应该设为 "/app/"

base: process.env.BASE_URL,

上面代码是vue-cli自动生成的配置,看到这里我就想修改BASE_URL,通过新建.env环境变量文件

环境变量

你可以在你的项目根目录中放置下列文件来指定环境变量:

.env                # 在所有的环境中被载入

只有 NODE_ENVBASE_URL 和以 VUE_APP_ 开头的变量将通过 webpack.DefinePlugin 静态地嵌入到客户端侧的代码中

 然后我在.env中修改BASE_URL,完全不起作用,随意设个VUE_APP_的变量是可以实现的,后来我发现了下面这段话,试着只修改vue.config.js 中的 publicPath

  • BASE_URL - 会和 vue.config.js 中的 publicPath 选项相符,即你的应用会部署到的基础路径

vue-cli配置

publicPath

  • Type: string

  • Default: '/'

默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上,例如 https://www.my-app.com/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.my-app.com/my-app/,则设置 publicPath 为 /my-app/

修改vue.config.js 中的 publicPath后,得以实现配置服务的基路径。

标签:index,vue,URL,app,html,BASE
来源: https://www.cnblogs.com/gxp69/p/14751695.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有