引言
Vue 项目中,vue.config.js 是项目中用来做启动和打包的配置文件,其中有一个重要参数是 publicPath,这个配置的作用是在开发阶段和生产阶段,为静态资源配置统一的资源标识符。
但是,有的时候,相对路径、绝对路径、二级路径傻傻分不清。再不然就是开发阶段应用跑的好好的,而一但到了生产环境,不是白屏就是图片资源丢了,总之就是各种问题。今天就来好好的battle一下,到底在各种各样的场景下,这个参数应该怎么配。
绝对和相对之分
在讲配置前,首先来明确两个概念绝对路径 '/' 和 相对路径 './'。这两个概念的区别就是以哪个目录作为起点,可以理解为绝对路径就是绝对错不了的路径,始终以一个固定的目录作为起点。而相对路径容易错,可以是任意一个目录节点作为起点。而在网站的访问中,可以认为如果静态资源使用了绝对路径,那么他始终以当前这个网站来作为访问的根节点。
在 vue.config.js 中,publicPath 既可配置成绝对路径 ,也可以配置成相对路径。
绝对路径:
publicPath: '/', // 或带有二级路径的网站, 如访问地址为 http://my-app.com/sub/ publicPath: '/sub/'
相对路径:
publicPath: './', // 或者 publicPath: '.', // 或者 publicPath: ''
以上三种是等效的,都是相对路径。