vue+webpack静态资源路径引用
处理静态资产
你可能已经注意到,在项目结构中我们有两个静态资产目录:src/assets和static/。他们之间有什么区别?
要回答这个问题,我们首先需要了解Webpack如何处理静态资产。在*.vue组件中,您的所有模板和CSS都会被解析vue-html-loader并css-loader查找资产URL。例如,在<img src="./logo.png">和中background: url(./logo.png),"./logo.png"是一个相对资产路径,将由Webpack解析为模块依赖项。
因为logo.png不是JavaScript,当被视为模块依赖时,我们需要使用url-loader和file-loader处理它。此模板已经为您配置了这些加载器,因此您可以免费获得文件名指纹识别和条件base64内联等功能,同时可以使用相对/模块路径而无需担心部署。
由于这些资产可能在构建期间内联/复制/重命名,因此它们本质上是源代码的一部分。这就是为什么建议将Webpack处理的静态资源放在/src其他源文件中。实际上,您甚至不需要全部放入/src/assets:您可以使用它们基于模块/组件来组织它们。例如,您可以将每个组件放在其自己的目录中,其静态资源就在它旁边。
“真正的”静态资产
相比之下,static/Webpack根本不处理文件:它们按原样直接复制到最终目标,文件名相同。必须使用绝对路径引用这些文件,绝对路径由join build.assetsPublicPath和build.assetsSubDirectoryin 确定config.js。
例如,使用以下默认值:
// config/index.js
module.exports = {
// ...
build: {
assetsPublicPath: '/',
assetsSubDirectory: 'static'
}
}
放入的任何文件static/都应使用绝对URL引用/static/[filename]。
注意:如果更改assetSubDirectory为assets,则需要将这些URL更改为/assets/[filename]
应用:
在src/components/ele.vue中,data数据里引入文件数据
imgsUrl:[
{src:'../static/imgs/02.jpg'},
{src:'./static/imgs/03.jpg'},
{src:'http://www.pptok.com/wp-content/uploads/2012/08/xunguang-4.jpg'}
]
第一行为相对路径,第二行为使用绝对URL引用./static/[filename],第三行为网上图片路径。
建议做法为:绝对URL引用./static/[filename]
补充:
在原来的绝对URL引用/static/[filename]基础上,在最之前添加了一个点.,因为vue项目打包后,如果不加.,无法正确获取图片等静态资源路径。
.
vue+webpack静态资源路径引用的更多相关文章
- vue打包静态资源路径不正确的解决办法
vue打包静态资源路径不正确的解决办法 vue项目完成打包上线的时候会碰到静态资源找不到的问题,常见的有两个 1.js,css路径不对 解决办法:打开config/index.js,将其中的asset ...
- vue打包静态资源路径不正确的解决办法【转】
vue项目完成打包上线的时候很多人都会碰到静态资源找不到的问题,常见的有两个 1.js,css路径不对 解决办法:打开config/index.js,将其中的assetsPublicPath值改为’. ...
- Vue Cli 打包之后静态资源路径不对的解决方法
cli2版本: 将 config/index.js 里的 assetsPublicPath 的值改为 './' . build: { ... assetsPublicPath: './', ... } ...
- 用node.js express设置路径后 子路径下的页面访问静态资源路径出问题
在routes/news_mian.js 设置了访问news_main.html 的路径 '/',通知设置一个访问news-page.html的子路径'/newspage'子路径.但是在访问loacl ...
- webpack打包绝对路径引用资源和element ui字体图标不显示的解决办法
webpack打包绝对路径引用资源解决办法: 打开webpack.prod.conf.js 找到output:增加 publicPath: './', 即可,如图 element ui字体图标不显 ...
- Spring boot 默认静态资源路径与手动配置访问路径的方法
这篇文章主要介绍了Spring boot 默认静态资源路径与手动配置访问路径的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在application.propertis中配置 ##端口号 ...
- springboot之静态资源路径配置
静态资源路径是指系统可以直接访问的路径,且路径下的所有文件均可被用户直接读取. 在Springboot中默认的静态资源路径有:classpath:/META-INF/resources/,classp ...
- 13.1Springboot 之 静态资源路径配置
Spring 静态资源路径是指系统可以直接访问的路径,且路径下的所有文件均可被用户直接读取. 在Springboot中默认的静态资源路径有:classpath:/META-INF/resources/ ...
- Springboot 之 静态资源路径配置
1.静态资源路径是指系统可以直接访问的路径,且路径下的所有文件均可被用户通过浏览器直接读取. 2.在Springboot中默认的静态资源路径有:classpath:/META-INF/resource ...
随机推荐
- HDU - 1255 覆盖的面积(线段树求矩形面积交 扫描线+离散化)
链接:线段树求矩形面积并 扫描线+离散化 1.给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积. 2.看完线段树求矩形面积并 的方法后,再看这题,求的是矩形面积交,类同. 求面积时,用被覆 ...
- AppCompatActivity、ActionBarActivity、FragmentActivity和Activity的区别
package com.chy.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bu ...
- 转【前端基础进阶之Promise】
前言 Promise的重要性我认为我没有必要多讲,概括起来说就是必须得掌握,而且还要掌握透彻.这篇文章的开头,主要跟大家分析一下,为什么会有Promise出现. 在实际的使用当中,有非常多的应用场景我 ...
- Windows JDK 1.8降级为1.7方法
转自:https://www.aliyun.com/jiaocheng/890626.html 正常情况下,JDK的升降级只需更改环境变量即可 可是到了1.8版本,Oracle使了一点小手段, 在系统 ...
- js读取ognl表达式的内容
<input type="hidden" id="number" value='<s:property value="resultN ...
- 2-4 测试案例helloWorld
- 洛谷 P1606 [USACO07FEB]荷叶塘Lilypad Pond【spfa】
和bzoj同名题不一样! 起点和水点向花费一个荷花能到的第一个点连一条边权为1的有向边,然后跑计数spfa即可 #include<iostream> #include<cstdio& ...
- 洛谷 P3254 圆桌问题【最大流】
s向所有单位连流量为人数的边,所有饭桌向t连流量为饭桌容量的边,每个单位向每个饭桌连容量为1的边表示这个饭桌只能坐这个单位的一个人.跑dinic如果小于总人数则无解,否则对于每个单位for与它相连.满 ...
- Mysql根据数据库的时间字段到点更新另外的状态。
转载:https://blog.csdn.net/xingfuzhijianxia/article/details/53727820 需求如下: 添加一条提醒,被提醒人在提醒时间未到达的时候收不到此提 ...
- 进击的Python【第十四章】:Web前端基础之Javascript
进击的Python[第十四章]:Web前端基础之Javascript 一.javascript是什么 JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编 ...