vue项目之webpack打包静态资源路径不准确
摘自:https://blog.csdn.net/viewyu12345/article/details/83187815
问题
- 将打包好的项目部署到服务器,发现报错说图片找不到。
- 静态资源如js访问不到
分析并且解决问题
明确一点的就是,看到报错404,找不到静态资源,很明显,路径错误了。
静态资源找不到如js文件
资源打包路径有误,打包后的资源使用了绝对根目录路径,因此将项目部署到特定目录下,其引入的资源路径无法被正确解析。
解决:
找到config下面的index.js文件,将划线处改为如下样子。

之前是根目录,肯定找不到文件,我们改成相对目录即可。打包后,去看看index.html中引入的文件就知道变化了。
图片找不到
首先我们来看一下我们打包后生成的文件目录:

上面的报错,要是没有static/css就完全可以找到图片了。但是为什么有的图片能够找得到有的图片找不到呢,同样的方法写在css文件里面。这里我们就要了解一下webpack在打包我们的文件时候进行的操作了。
webpack打包limit限制

limit值为10000,表示字节。什么作用呢?就是小于这个字节限制的,不是不打包,而是转化为base64(css样式中,图片的代码变成了一堆字符)。大于的话就正常打包,加上7位hash值,就变成如下路径。

跑到了img下面去了,img这个名字就是我们上面webpack配置的。这样路径就不对了,所以找不到图片。
从源头分析问题
在vue项目中,我们打包生成项目,跑命令如下。
npm run build
那么,我们就看看在执行这个命令中,运行的代码,以此入手。找到config下面的index.js文件

打包后生成的文件代码:

最开始,我们的assetsPublicPath值为'/',表示根目录,我们看看打包后的文件样子。

这样直接从根目录获取,我们将项目部署到服务器上都是有名字的,这样直接到服务器根目录肯定不能获取。
解决图片路径错误办法
在build文件夹下面找到utils.js文件,如下图

新增红色的部分,这样打包的样子就变成../../static的样子了,就可以解决我们的问题。
vue项目之webpack打包静态资源路径不准确的更多相关文章
- vue打包静态资源路径不正确的解决办法
vue打包静态资源路径不正确的解决办法 vue项目完成打包上线的时候会碰到静态资源找不到的问题,常见的有两个 1.js,css路径不对 解决办法:打开config/index.js,将其中的asset ...
- Vue项目用webpack打包后,预览时资源路径出错(文末有vue项目链接分享)
最近用vue写了一些项目,项目写完之后需要打包之后才能放到网上展示,所以在这里记录一下项目打包的过程以及遇到的一些问题. --------------------------------------- ...
- vue打包静态资源路径不正确的解决办法【转】
vue项目完成打包上线的时候很多人都会碰到静态资源找不到的问题,常见的有两个 1.js,css路径不对 解决办法:打开config/index.js,将其中的assetsPublicPath值改为’. ...
- vue项目通过webpack打包生成的dist文件放到express环境里运行(vue+webpack+express)
1.首先需要的原料肯定是vue打包生成的dist文件 在vue项目目录下运行:npm run build,等待运行结束,会在项目目录下生成一个dist文件夹,里面会生成一些文件(如下图示) 小的项目文 ...
- webpack打包静态资源和动态资源
1.对于静态引用的资源: <img src = "static/modelname/imgname.png"> // 修改为下面的写法 <img src = &q ...
- vue项目,webpack中配置src路径别名及使用
1.项目结构: 2.在build文件夹下的webpack.base.conf.js文件中设置src的路径别名. 3.在js文件或者vue文件的script标签中使用: (1).js文件中导入示例: ( ...
- vue项目用webpack打包后跨域问题
在app.js的最开始加上 app.all('*', (req, res, next) => { res.header("Access-Control-Allow-Origin&quo ...
- vue项目在webpack打包后背景图片显示不了
加上 publicPath:'../../'即可
- Vue Cli 打包之后静态资源路径不对的解决方法
cli2版本: 将 config/index.js 里的 assetsPublicPath 的值改为 './' . build: { ... assetsPublicPath: './', ... } ...
随机推荐
- 2017-2018 ACM-ICPC East Central North America Regional Contest (ECNA 2017) Solution
A:Abstract Art 题意:给出n个多边形,求n个多边形分别的面积和,以及面积并 思路:模板 #include <bits/stdc++.h> using namespace st ...
- PHP保存Base64图片base64_decode的问题 文件打不开的问题
PHP对Base64的支持非常好,有内置的base64_encode与base64_decode负责图片的Base64编码与解码. 编码上,只要将图片流读取到,而后使用base64_encode进 ...
- Oozie的详细启动步骤(CDH版本的3节点集群)
不多说,直接上干货! 我的机器情况是,bigdatamaster(Oozie是安装在这台节点上).bigdataslave1和bigdatalsave2. 启动步骤 第一:先启动mysqld服务进程 ...
- stm32_CAN总线知识(转)
源: stm32_CAN总线知识
- js 变量、函数提升 与js的预编译有关
参考网址:http://www.codesec.net/view/178491.html 先简单理解下作用域的概念,方便对变量与函数提升的概念的理解 function foo() { var x = ...
- 2018-2019-1 20189218《Linux内核原理与分析》第三周作业
mykernel 实验 实验楼里按步骤运行一切顺利,make等待的时间特别久: 但是,启动mykernel后,实验楼的界面就不响应了,所以还是在自己虚拟机上做这个实验. 虚拟机搭建 mykernel ...
- 20162314 Experiment 4 - Graph
Experiment report of Besti course:<Program Design & Data Structures> Class: 1623 Student N ...
- POJ 1122 FDNY to the Rescue!(最短路+路径输出)
http://poj.org/problem?id=1122 题意:给出地图并且给出终点和多个起点,输出从各个起点到终点的路径和时间. 思路: 因为有多个起点,所以这里反向建图,这样就相当于把终点变成 ...
- hihocode 股票价格 优先队列+map
股票价格 时间限制:20000ms 单点时限:2000ms 内存限制:256MB 描述 小Hi最近在分析一支股票的价格走势,他需要一个程序来辅助分析.这个程序会接收3种消息(指令): 价格信息,格式是 ...
- python学习笔记(日志系统实现)
博主今天在自己的接口自动化框架中添加了日志系统 基于python自带的logging库.包括日志主函数.生成日志文件: # -*- coding: utf-8 -*- # 日志系统 # 时间:2017 ...