【笔记】vue-cli 打包后路径问题出错的解决方法

几天之前打包自己的vue 项目上传到远程服务器上面 但是遇到了如下几个问题:

1. 线上浏览页面时是空白页面

2. 打包后资源文件(js, css 文件)引用的路径不正确

3. 开发环境中使用到的如:组件内部css 的背景图路径,通过 computed 属性计算返回的图片路径不正确问题

于是在网上参考了两篇文章便逐一解决了:

https://www.cnblogs.com/moqiutao/p/7496718.html

http://blog.csdn.net/obkoro1/article/details/78190387

关于空白页面的问题,原因是 vue-router model 设置了 history 模式,解决方法有两个:

1、把model 改成 hash(直接删掉model 项即可)

2、设置baseUrl

然后是资源引用问题:

其实主要的还是webpack 配置的问题:

其一:要设置 prod.env.js 的如下配置

因为打包后的html 文件引用资源的路径 是 /static/js/xxxx 这样的,当在线上服务器中,这样的路径会变成请求服务器根目录下的static 目录下的文件,这样是不对的 因为通常前端页面的资源都会放在一个目录下,所以资源引用当然会出错。改变这个之后,资源路径就会变成  ./static/js/xxxx  这样就会请求前端目录里面的资源了

其二:要设置 utils.js 文件里面的配置,如下:

有时候,我们需要在不同的情况输出不同的图片 那么我们就需要用到 computed 属性按照情况返回不同的图片路径,但是这样存在一个问题:

我们在开发环境中输出的图片路径是以 App.vue 作参照物的,所以这样写没有问题(这个说法未必正确)

但是打包后这样写会访问打包目录下js 目录下的 static/images/xxxx 的文件,这样就造成了路径错误了,按照上面的配置设置就没问题了,具体的原理有待研究

原文地址:https://www.cnblogs.com/stitchgogo/p/8395027.html

时间: 2024-08-28 18:47:07

【笔记】vue-cli 打包后路径问题出错的解决方法的相关文章

Vue项目打包后背景图片路径错误

vue项目打包之后背景图片出错的解决方案如下: 1,找到 config->index.js里面,如下修改 默认配置: env: require('./prod.env'), index: path.resolve(__dirname, '../dist/index.html'), assetsRoot: path.resolve(__dirname, '../dist'), assetsSubDirectory: 'static', assetsPublicPath: '/', 修改为: env

安装Wamp后 Apache无法启动的解决方法

安装Wamp后 Apache无法启动的解决方法,网上的解决方案可以说是五花八门,有些说了一大推,一点作用都起不到. 其实解决方法只需两步: 1.安装路径不能包含有中文,这个我不知道为什么,总之如果安装路径中包含有中文,接下来无论做多少配置工作都是徒劳. 2.安装好后 修改httpd.conf文件 把里面的80端口 改成其他端口 比方改为:8080 ,如果没有端口冲突可以不用修改. 做好以上这两步重启Wamp就可以了. 就这么简单,没必要搞太多东西.

网站启动SSL, http变为https后,session验证码错误解决方法

网站启动SSL, http变为https后,session验证码错误解决方法 最近公司需要后台启动安全证书,证书安装完毕后,后台老提示 验证码错误,经过几天的研究,此问题已经得到有效解决,现把方法如下. 一.问题展示 看到此问题后,我求助了伟大的互联网,网上大概的解决方法,是说要写两个session,不能相互互通,按照这个思路,我整了几天不见好,后来我重新写了一段代码,问题解决,其实根本不需要写两个session,先公布解决方法. 二.解决方法 原来的验证码代码 <script language

解决安装VC6.0后出现MSDEV.EXE错误解决方法

问题:安装VC6.0后,在打开项目或添加文件时,出现如下错误: 可能导致原因:由于Ms安装软件的兼容性问题,导致VC6.0安装不完全, 解决方法:--网上打sp6补丁的方法貌似不可用,所以可以采用另一种方法 1.在下面的网站下载FileTool.exe http://support.microsoft.com/kb/241396/en-us      2.FileTool.exe是个自解压文件,执行它,解压到某个目录下 3.解压后的文件是一个VC工程,在VC6中编译它 4. 在dsw文件上右键“

数据库出错的解决方法

1.SQLServer2008数据库sa账户登录127.0.0.1失败 http://wenku.baidu.com/link?url=FiTOMHmOBYJp3LFKYFuHNN2uHn_00zSVbVLgudRa9QA2usB5liFjQbKah4F9GcqUfgWQiMfxDwx9-6kyFnAaaTd9PR72S-ZOuKR_CxJxETW&qq-pf-to=pcqq.c2c 2.SqlServer配置管理器中的sql服务    远程过程调用失败 http://wenku.baidu.c

GetDirectories 出错的解决方法

我想找到D盘里面所有 "*.pst文件,类似 windows 下的磁盘搜索功能, using System.IO; Directory.GetFiles(@"d:\", "*.pst", SearchOption.AllDirectories) 测试环境为win7 提示说 某某目录没有访问权限. 获得文件属性   File.GetAttributes(dir.FullName).ToString()   没有权限访问的将会有  System  .Hidde

【jquery】ajax 请求成功后新开窗口被拦截解决方法

问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢? 分析: 浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限制),即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所

IIS7下js文件启用Gzip后却不压缩的解决方法

本文转载:http://www.jb51.net/article/26340.htm IIS7下js文件启用Gzip后却不压缩的解决方法IIS7已经启用静态文件压缩(Gzip)但是死活不压缩,查找后发现是II7下MIME类型设置问题 将.js的MIME类型设置为application/javascript 再查看页面,已经启用了Gzip. 不过,几个天后又发现有的js文件被压缩,有的却没有. 查找原因发现是引用js文件是没有设置type <script></script> <

Ubuntu关机后会自动重启的解决方法

之前我装了ubuntu 14lts 开发版之后,本来用的好好的,但闲着没事更新了一下内核.之后就遇到ubuntu关机5秒后会自动重启这个问题,我有位用kilin的朋友也遇到这个问题.我反复研究发现,如果你的电脑插着U盘的话,关机是可以正常的,但这种方法不是很友好啊.之后,在贴吧看到最好的解决方法,只要联网状态下,在terminal输入如下命令即可解决. sudo apt-get install laptop-mode-tools Ubuntu关机后会自动重启的解决方法