使用相对路径时,当根目录放到一个二级目录下时,文件仍然可以正常访问,而使用相对于根目录路径时,其中一个页面放到其它位置时,照样能关联么相关的图片和其它文件,比如:本例如果用相对于根目录路径的话,把index.html放到一个文件夹下后,还是可以正常访问的。总之两种方法各有优劣,根据你的需要采用一种合适的方法。相对路径和相对于根目录路径是可以相互更改的,在站点管理——编辑——高级设置的本地信息里有链接相对于,如下图,默认为文档(就是所说的相对路径),也可以改为站点根目录,相对路径一般为直接目录名,需要返回上级时用../,向上返回两级时用../../;相对于根目录路径始终以/开头,不管该文件现在在哪一级,它都是以根目录开始向下找。
相对路径分为两种:一、根相对路径:以“/”开头,表示从项目的根目录开始,如项目根目录下images图片目录中的1.jpg可以表示为url("/images/1.jpg")二、文档相对路径:以当前文件为参照,每下一级以“/”开头,紧跟着目录名,最后为文件名,上一级则用“../”。更改config/index.js配置文件build.assetsPublicPath为 './'在App.vue的 <style>中加一个background: url('./asssets/images/xxx.png')之类相对路径引用的样式
此时进行打包命令
你会发现提取出来的 css 中 url() 中图片的路径是 static/img/xxx.png 这样的,用浏览器打开index.html将会有 xxxxxxx/static/css/static/img/xxx.png 这个图片 404 的报错
主要是需要单独为 css 配置 publicPath ,更改 build/utils.js 文件中 ExtractTextPlugin 插件的 options 配置: