我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Vue项目中对index.html中BASE_URL的配置方式

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Vue项目中对index.html中BASE_URL的配置方式

Vue项目对index.html中BASE_URL的配置

问题

有时候后端配置资源的默认访问路径的时候,可能会与前端打包时配置的默认根路径有所差异

比如:后端要访问静态资源的根路径为/static,而一般情况下,我们项目的vue.config.js中对BAES_URL的配置是/,或者不做配置,因为它默认的值也是/

这个路径决定了我们的前端项目打包后获取静态资源的默认的根路径(不显示在代码中),同时,这个路径也在public/index.html中有明显的引用,大多时候都会看到如下的代码: 

<!DOCTYPE html>
<html lang="zh-cmn-Hans">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link rel="icon" href="<%= BASE_URL %>logo.png" rel="external nofollow" >
    <title>xxxx</title>
  </head>
  <body>
  	<div>.......</div>
  </body>
</html>

那么,我们应该如何去修改这个BAE_URL的值呢?

解决

通过 vue-cli3 官方文档的查阅,发现:

所以,显而易见,如果想修改 BASE_URL,

Vue CLI 3.3 之前的版本,配置:baseURl: '/static'

Vue CLI 3.3 之后(包括3.3)的版本,配置:publicPath: '/static'

因为这个值在开发环境下同样生效,所以说这么一改打包后是没问题了,但自己的项目运行起来却会报错,官方也给出了方案。很简单,只需要判断一下当前环境是生产环境还是开发环境,再应用不同的路径就可以了。如下:

module.exports = {
  publicPath: process.env.NODE_ENV === 'production'
    ? '/static/'
    : '/'
}

注意:

还需要注意的一个问题是,当我们修改了publicPath 之后,如果我们对路由的配置是像下面这样:

export default new Router({
  mode: 'history',
  base: process.env.BASE_URL,
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRouterMap.concat(asyncRouterMap)
})

可以看到路由的基础路径跟 BASE_URL 即 publicPath 是相同的。

如果保持原来的配置,那么所有的路由都会带上多余的前缀,如:/static/home

修改方式也很简单,如下:

Vue.use(Router)
export default new Router({
  mode: 'history',
  // base: process.env.BASE_URL,
  base: '/',
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRouterMap.concat(asyncRouterMap)
})

将base属性重置为/即可 

Vue项目url中的<%= BASE_URL %>

vue-cli 创建的一个项目中执行命令 vue inspect > output.js 将 vue-cli 中 webpack 的配置信息导出到 output.js 文件,会有一段代码:

 new DefinePlugin(
     {
       'process.env': {
         NODE_ENV: '"development"',
         BASE_URL: '"/"'
       }
     }
   ),

在 webpack 中全局声明了 BASE_URL 这个变量为项目根目录。 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Vue项目中对index.html中BASE_URL的配置方式

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Vue项目怎么配置index.html中的BASE_URL

今天小编给大家分享一下Vue项目怎么配置index.html中的BASE_URL的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧
2023-07-02

Go项目中的配置格式

有志者,事竟成!如果你在学习Golang,那么本文《Go项目中的配置格式》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~问题内容配置文件最常见的格式是json、yaml等。当我
Go项目中的配置格式
2024-04-04

Vue项目中ESLint怎么配置

这篇“Vue项目中ESLint怎么配置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue项目中ESLint怎么配置”文章吧
2023-07-05

vue-cli的index.html中使用环境变量方式

这篇文章主要介绍了vue-cli的index.html中使用环境变量方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

Vue项目配置在局域网下访问方式

这篇文章主要介绍了Vue项目配置在局域网下访问方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-05-16

vue项目配置env的方法步骤

在vue项目中env是全局配置文件,可以存储不同环境下的变量,下面这篇文章主要给大家介绍了关于vue项目配置env的方法步骤,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-05-16

.eslintrc配置目录及配置项的使用方式

这篇文章主要介绍了.eslintrc配置目录及配置项的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

Vue项目中ESLint配置超全指南(VScode)

ESLint是一个代码检查工具,用来检查你的代码是否符合指定的规范,下面这篇文章主要给大家介绍了关于Vue项目中ESLint配置(VScode)的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-05-14

maven中配置项目的jdk版本无效的排查方式

这篇文章主要介绍了maven中配置项目的jdk版本无效的排查方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-05-15

编程热搜

目录