VUE打包后路径错误的问题小结

关于Vue打包发布的问题

项目完成之后,发现打包发布以后,在wamp配置完成以后,访问首页和主题页都没有问题,当进入详情页以后,页面空白,控制台也没有报错。于是开始查找问题。

一 : 如果你的项目路由vue-router使用的是history模式,当将项目放到服务端的时候,后端需要做相应的配置(见官方文档)。如果是传统的hash模式则万事ok。(我在本地使用的是apache,配置文件如下(注意:默认是放在根目录下面))说明一下:如果你使用的是history模式,你会发现将项目布置上去以后,刷新会返回404... 而且一些路径根本就找不到。出现这种情况的原因是 vue-router设置的路径不是真实存在的路径,访问的资源在服务端找不到...  所以需要后端返回一个找不到对应路径返回index.html(也就是Spa单页应用的入口)。由于这样,前端最好添加一个404页处理找不到的路径

.htaccess文件

二: 后端配置完成以后,将项目放上去以后,首先你确定项目是放到根目录还是二级目录(...)。如果是在根目录下,vue-cli默认的配置基本可以满足需求。下面是可能出现的问题

1、背景图片加载路径出现错误。(首先检查output.publicPath是‘/'还是‘./’, 如果出口路径是根路径,则不会出现这个问题,因为最终访问的是/static/img/xx.jpg;如果output.publicPath是‘./’,则最终的引用路径就变成了'static/img/xxx.jpg',在css文件夹中根本访问不到这个路径,所以就会出现下面这个清况)解决方法:在build/utils.js文件中添加以下代码。出现问题的原因是因为背景图片写在css文件中,它并不会和vue文件一样是由index.html开始访问的。但是css访问static/images/xxx.png是访问不到的。所以添加publicPath将路径回退两层以后就是‘../../static/images/xxx.png’(看不懂的可以看一下你们打包出来的文件夹目录就懂了)

解决背景加载路径错误问题办法

2、如果,因为某些原因,程序必须放到二级或是更深的目录下面,你会发现将项目放上去以后,会出现引用路径错误。下面以我本地布置到二级目录为例子说明一下原因及解决办法

        我将项目布置到/app/下面,相应的需要修改几个地方

        (1) 、首先路由配置文件中添加base : '/app/',修改应用的基路径。

      (2)、修改config/index.js文件(见下图)解释一下:assetsPublicPath这个东东就是你打包以后引用文件的基本路径(vue-cli)默认的是根路径/,如果修改为/aap/,你会发现在打包好的文件index.html中,所有的src引用、包括css引用都是从/app/开始的。因为你的项目是放在根目录下线的app目录中,所以引用要从/app/中才不出错,如果不修改怎引用还是/static/xxx.js,那肯定就报错了, 因为根目录下没有static,但是有app.(也不知道说明白了没。。。语言表达能力欠缺)


将根路径修改为/app/

            (3)由于项目发布在二级目录下,所以对应的后端在处理路径重定向的时候需要注意目录返回到层级。不能再是图一那样了,下面是修改后的,其实就是修改了一下返回到index.html的路径。

修改后的.htaccess文件

            一些建议:(前提:如果是项目放在根目录下的话)如果需要本地项目中保存一些背景图片的或是其他小图片,直接放在static文件夹中就可以了,在引用这些资源的时候直接将路径写成/static/images/xxx.png.这样的话,在打包好以后这些图片还是在static文件夹下,路径不会出现问题。原因是static文件夹会直接复制到打包好的文件中,其实就是将static中的文件移动到了打包好的static文件中。(详细请看vue-cli的配置)。包括其他的一些本地不需要变动的文件都可以放到static文件夹中。如果不想放在static中的话,也可以放到assets文件中,这时需要使用相对路径引用资源,img在打包好文件路径默认就是/static(output.publicPath是‘/’)文件下面的资源,是没有问题的;img在打包好文件路径默认就是static(output.publicPath是‘./’)文件下面的资源,背景图片就会出现问题,所以还是要配置untis.js文件。(如上图二)

            一些建议:(前提:如果项目不是放在根目录,例子是二级目录下)由于我之前写的项目是放到根目录中,所以都是按照上面的做法做的,但是需要把项目放到二级目录时, 出现了问题。由于我的img 包括背景图都是在static/imags中,所以我就是直接引用/static/images/,导致在放到二级目录中出现了找不到如片路径的问题。下面是我的解决办法

(1)、如果不嫌麻烦的话,在开发阶还是写成/static/images/xxx.png的形式,但是在打包前将所有引用的/static/images/全部替换为/app/static/images/。打包好就不会出现找不到路径的问题

  (2) 可以在引用的时候写成相对路径, 最好是写到assets/imags文件中(注意:不要放到static中,如果放到这个里面,img引用是不会改变的,打包好的文件会出现img路径还是/static/images或者是../static/images或者是‘./static/imagss’)。,如果是将图片放进assets/imags中的话,img引用是没有问题的,打包好的文件img的引用路径就是/app/static/imgaes/xxx.png。但是背景图还是找不到路径,所以要将上面的utils.js按照上图路径配置就没问题了。(别忘了啊啊啊啊)

也不知道写明白了没??隔了半年了,再拿起来写还记得一丢丢。。。还是得多写笔记啊。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。(2018完了)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容