Vue项目用webpack打包后,预览时资源路径出错(文末有vue项目链接分享)
最近用vue写了一些项目,项目写完之后需要打包之后才能放到网上展示,所以在这里记录一下项目打包的过程以及遇到的一些问题。
-------------------------------------------------- 分割线 --------------------------------------------------
一、项目打包过程:
1.vue项目写完后,首先在项目路径下的命令行中运行:npm run build,看到Build complete即表示项目打包完成;

然后,回到自己的项目文件夹中,会看到新生成了一个dist文件夹,这个dist文件夹就是用来存放webpack给我们打包后的文件的

打开dist文件夹,会看到里面有一个static文件夹和一个index.html文件,static文件夹里存放的是webpack为我们打包后的css文件、js文件以及项目图片等,而index.html则是我们用vue搭建的项目的主页,然而,在浏览器中打开index.html会发现显示空白!!

二.资源的路径问题
上面说到打包后得到的index.html在网页中打开显示空白,我们可以按F12打开控制台看看究竟发生了什么情况。
打开控制台后,我们可以发现一些报错信息,显示无法找到文件,这些文件都是webpack给我们打包好的资源文件,无法找到这些文件的原因是路径设置问题。
找到了问题后,我们就可以解决问题了。
首先,我们回到项目文件,找到config>index.js文件,打开这个文件,找到build(注意是build不是dev)这个对象下面的assetsPublicPath的值改成 './'

保存之后,重新在命令行中npm run build,然后再打开dist文件夹下面的index.html,即可显示成功!!

此外,还有另外一个方法可以解决这个问题,就是在项目文件夹下找到build>webpack.prod.conf.js,打开该文件夹,找到output对象,然后添加一行代码 publicPath: './',可以起到同样的效果。

三、项目中背景图片的路径问题
如果你的项目文件中的css代码以类似这样的方式引入背景图片:background-image: url(../assets/main-view/icons/seafood.png),这时项目打包后,打开index.html文件可能会无法显示该背景图片,这其实也是图片路径的问题,这时你需要在项目文件中找到build>utils.js文件,然后打开该文件,在generateLoaders( )这个函数下面添加一行代码 publicPath: '../../' ,即可解决背景图片无法显示的问题。

--------------------------------------------------------分割线-----------------------------------------------------
以上就是vue打包项目过程及遇到的一些问题的总结,下面附上最近写的几个vue项目,有兴趣的朋友可以看一下。
a-vue-todolist:
这个todolist的demo比较简单,只有一个页面,不过基本涵盖了vue入门必须掌握的一些知识点,包括v-if/v-show/v-model/v-on/v-bind等vue常用指令,以及props/自定义事件等父子通信相关知识。
项目地址: https://github.com/Yuan-Yiming/a-vue-todolist
浏览地址:https://yuan-yiming.github.io/a-vue-todolist/dist/
a-vue-blog:
这个博客项目也比较简单,由博客列表、阅读博客、添加博客、预览博客等几个页面组成。
项目地址: https://github.com/Yuan-Yiming/a-vue-blog
浏览地址:https://yuan-yiming.github.io/a-vue-blog/dist/#/
fresh-everyday(没完成,还在更新中):
这是一个用vue搭建的电商前端项目,相对比较复杂一些,基本实现一个电商网站的主要页面的功能,不过目前还没写完,还在更新中,有兴趣的朋友也可以也可以看一下。
项目地址:https://github.com/Yuan-Yiming/fresh-everyday
浏览地址:https://yuan-yiming.github.io/fresh-everyday/dist/#/
最后说一句,喜欢我项目的朋友欢迎给我的项目打星哦~
Vue项目用webpack打包后,预览时资源路径出错(文末有vue项目链接分享)的更多相关文章
- vue项目通过webpack打包生成的dist文件放到express环境里运行(vue+webpack+express)
1.首先需要的原料肯定是vue打包生成的dist文件 在vue项目目录下运行:npm run build,等待运行结束,会在项目目录下生成一个dist文件夹,里面会生成一些文件(如下图示) 小的项目文 ...
- vue打包后找不到资源路径问题
问题描述: 使用webpack打包vue项目后,前后端联调无法找到资源 解决方案: 一. 改为相对路径,去除axios中地址的第一个“/” onProxyReq: function (proxyReq ...
- vue项目用webpack打包后跨域问题
在app.js的最开始加上 app.all('*', (req, res, next) => { res.header("Access-Control-Allow-Origin&quo ...
- vue项目在webpack打包后背景图片显示不了
加上 publicPath:'../../'即可
- vue -webkit-box-orient: vertical webpack打包后被过滤掉了 线上没有这行代码
(1)方法一:加上绿色注释,跳过webpack的css打包 .word-overflow-{ overflow:hidden; text-overflow:ellipsis; display:-web ...
- vue使用readAsDataURL实现选择图片文件后预览
vue实现选择图片文件后预览 利用h5的api可以实现选择文件并实现预览 readAsDataURL 方法会读取指定的 Blob 或 File 对象.读取操作完成的时候,readyState 会变成已 ...
- vue项目 webpack打包后,图片路径是绝对路径
vue项目,使用webpack打包,虽然在全局把路径改成了相对的路径,但是图片引用的路径还是异常的,解决办法如下: 1.config文件夹下index.js中: assetsPublicPath:&q ...
- vue 使用webpack打包后路径报错以及 alias 的使用
一.vue 使用webpack打包后路径报错(两步解决) 1. config文件夹 ==> index.js ==> 把assetsPublicPath的 '/ '改为 './' 2. b ...
- vue webpack打包后 iconfont引入路径不对
vue webpack打包后 iconfont引入路径不对 { test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, loader: 'url-loader', option ...
随机推荐
- 【阿里云产品公测】ACE下上传文件永久存储实践
本帖主要内容: ;$,=VB:' 在阿里云的ACE下,我是如何实现让上传的文件永久保存的? ,%"!8T 本文以PHP为例,具体知识点如下: WD# 96V 第一,扩展服务“存储 ...
- SpringBoot框架下基于Junit的单元测试
前言 Junit是一个Java语言的单元测试框架,被开发者用于实施对应用程序的单元测试,加快程序编制速度,同时提高编码的质量.是一个在发展,现在已经到junit5,在javaEE开发中与很多框架相集成 ...
- SQL Server ->> Memory Allocation Mechanism and Performance Analysis(内存分配机制与性能分析)之 -- Minimum server memory与Maximum server memory
Minimum server memory与Maximum server memory是SQL Server下配置实例级别最大和最小可用内存(注意不等于物理内存)的服务器配置选项.它们是管理SQL S ...
- STL算法分类记忆
STL算法主要是我们强大的标准库中以迭代器或数值或函数对象为参数预先定义好的一系列算法操作. 在STL算法分类中首先要提的就是两个普遍存在的后缀: _if _copy 其中这两个后缀的作用分别是:一. ...
- Linux->Mysql安装调试
环境准备 mysql下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar ...
- C#常用排序和查找算法
1.C#堆排序代码 private static void Adjust (int[] list, int i, int m) { int Temp = list[i]; int j = i * 2 ...
- 【Leetcode】【Hard】Reverse Nodes in k-Group
Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. If ...
- laravel 使用EasyWechat 3分钟完成微信支付(以APP支付为例)
上一篇写了支付宝支付,然后这段时间我又把微信支付给接上了,作为萌新的我还是很有成就感的,哈哈~~好了,该写正事了. 第一步:创建应用及配配置 首先到微信的官方平台注册应用https://pay.we ...
- Windows彻底卸载系统自带的office
由于自带office导致按照新的office会提示要先卸载原来32位的office,又在控制面板或软件管理工具中找不到office,用如下方法删除 1.在C盘删除office文件夹 2.删除注册表 1 ...
- 利用Apache Isis快速原型化-宠物诊所的宠物管理
前言 Apache Isis是DDD方法的一个实现框架. 需求分析 宠物诊所需要记录宠物的资料,包括类型.名字.及其主人. 多个宠物可能同属于一个主人. 宠物可能更换主人. 宠物主人记录姓名,我们可以 ...