详解vue2.0 资源文件assets和static的区别


Posted in Javascript onNovember 27, 2018

Webpacked 资源

我们首先需要理解webpack是怎样处理静态资源的。在*.vue组件中,所有的templates和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进行处理。 该模板已经配置好了这些loaders,所以你能够使用相对/模块路径时不需要担心部署的问题。

由于这些资源可能在构建的时候被内联/复制/重命名, 所以它们从本质上来说是你源码的一部分。这就是为什么我们建议将交由webpack处理的静态资源和其它源文件一样放在/src路径下面。

实际上,你甚至不需要把它们全都放在/src/assets路径下:你可以基于模块/组件的使用来组织文件结构。例如,你可以把每个组件和属于它的静态资源放在它自己的目录下。

资源处理规则

相对URL, ./assets/logo.png 将会被解释成一个模块依赖。它们会被一个基于你的Webpack输出配置自动生成的URL替代。

没有前缀的URL, assets/logo.png 将会被看成相对URL,并且转换成./assets/logo.png

前缀带~的URL 会被当成模块请求, 类似于require('some-module/image.png'). 如果你想要利用Webpack的模块处理配置,就可以使用这个前缀。例如,如果你有一个对于assets的路径解析,你需要使用<img src="~assets/logo.png">来确保解析是对应上的。

相对根目录的URL, /assets/logo.png 是不会被处理的.

测试总结:

1.采用相对路径,程序内部自己编写的样式和图片,一般放在assets文件夹下。

详解vue2.0 资源文件assets和static的区别

top.vue中要引入图片assets/images/home/photo.png,可以这样写img

<img src="../../assets/images/home/photo.png" />

本地dev渲染后,图片路径:(被打包放在静态文件夹static的img下了)

详解vue2.0 资源文件assets和static的区别

build项目后,打开后图片路径:(静态文件夹的相对路径)

详解vue2.0 资源文件assets和static的区别

2.采用webpack中的alias设置路径别名。

详解vue2.0 资源文件assets和static的区别

top.vue中可以这样调用:(图片放在static/images/home文件夹下)

<img src="~images/home/logo.png" />

项目dev后,也会被编译成:

详解vue2.0 资源文件assets和static的区别

个人感觉第一种更直观一些。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
bootstrap data与jquery .data
Jul 07 Javascript
解决WordPress使用CDN后博文无法评论的错误
Dec 15 Javascript
JS实现保留n位小数的四舍五入问题示例
Aug 03 Javascript
BootStrap Table 获取同行不同列元素的方法
Dec 19 Javascript
详解动画插件wow.js的使用方法
Sep 13 Javascript
基于JavaScript中标识符的命名规则介绍
Jan 06 Javascript
微信小程序实现多选功能
Nov 04 Javascript
JQuery Ajax执行跨域请求数据的解决方案
Dec 10 jQuery
详解vue组件中使用路由方法
Feb 12 Javascript
微信公众平台 客服接口发消息的实现代码(Java接口开发)
Apr 17 Javascript
js中比较两个对象是否相同的方法示例
Sep 02 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
Sep 23 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
Nov 27 #Javascript
js canvas实现画图、滤镜效果
Nov 27 #Javascript
js canvas画布实现高斯模糊效果
Nov 27 #Javascript
video.js 一个页面同时播放多个视频的实例代码
Nov 27 #Javascript
Vue数据双向绑定的深入探究
Nov 27 #Javascript
微信小程序带动画弹窗组件使用方法详解
Nov 27 #Javascript
微信小程序实现日历功能
Nov 27 #Javascript
You might like
东方红 - 来复式再生机的修复
2021/03/02 无线电
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
改变Apache端口等配置修改方法
2008/06/05 PHP
深入php之规范编程命名小结
2013/05/15 PHP
PHP生成二维码的两个方法和实例
2014/07/01 PHP
PHP入门教程之数学运算技巧总结
2016/09/11 PHP
Safari5中alert的无限循环BUG
2011/04/07 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
运算符&amp;&amp;的三个不同层次
2013/04/07 Javascript
开发 Internet Explorer 右键功能表(ContextMenu)
2013/07/03 Javascript
各式各样的导航条效果css3结合jquery代码实现
2016/09/17 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
JavaScript数组去重的几种方法效率测试
2016/10/23 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
几种tab切换详解
2017/02/03 Javascript
js数据类型检测总结
2018/08/05 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
2019/10/17 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
Python中xrange与yield的用法实例分析
2017/12/26 Python
Python Requests库基本用法示例
2018/08/20 Python
使用Python实现从各个子文件夹中复制指定文件的方法
2018/10/25 Python
Python使用import导入本地脚本及导入模块的技巧总结
2019/08/07 Python
用Python将Excel数据导入到SQL Server的例子
2019/08/24 Python
在Tensorflow中查看权重的实现
2020/01/24 Python
Python使用20行代码实现微信聊天机器人
2020/06/05 Python
健身场所或家用健身设备:Life Fitness
2017/11/01 全球购物
美国儿童服装、家具和玩具精品店:Maisonette
2019/11/24 全球购物
汇智创新科技发展有限公司
2015/12/06 面试题
经济管理专业毕业生推荐信
2013/11/11 职场文书
优秀员工自荐书
2013/12/19 职场文书
实习鉴定范文
2013/12/19 职场文书
大学生职业生涯规划书模板
2014/01/03 职场文书
反四风对照检查材料思想汇报
2014/09/16 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
MySQL 8.0 Online DDL快速加列的相关总结
2021/06/02 MySQL