static和assets的区别,原理就在于webpack是如何处理静态资源的

assets

1)在vue组件中,所有模板和css都会被vue-html-loader和css-loader解析,并查找资源url。

例:<img src="./logo.png" />  或者  background: url("./logo.png")

  因为./logo.png是相对的资源路径,将会由webpack解析为模块依赖;

2)由于logo.png不是js,当被视作模块依赖时,需要使用url-loader和file-loader处理它,vue-cli已经配好了这些loader(webpack)因此可以使用相对/模块路径。

3)由于这些资源可能在构建过程中被内联、复制、重命名,所以它们基本是代码的一部分,即webpack处理的静态资源放在/src目录中,和其它资源文件放在一起。

事实上,不必把它们全部放在/src/assets文件下,可以使用"模块/组件"的组织方式来使用它们

例:可以在每个放置组件的目录中存放静态资源。

static

1)static目录下的文件并不会被webpack处理,它们会直接复制到最终目录(dist/static)下。

   必须使用绝对路径引用这些文件,这是通过在config.js的build.assetsPublicPath和nuild.assetsSubDirectory连接确定的。

2)任何放在static/的文件需要以绝对路径形式引用:/static/[name]。

如果更改assetsSubDirectory的值为assets,那么路径需更改为:/assets/[filename]。

总结

assets里面的资源会被webpack打包进代码,static里面的资源就直接引用了;

一般在static里放一些类库的文件,assets放属于项目的资源文件。

说的再通俗一点,就是static放别人家的资源,assets放自己家的资源。

vue static和assets的区别的更多相关文章

  1. static和assets的区别

    assets和static两个都是用于存放静态资源文件. 放在static中的文件不会进行构建编译处理,也就不会压缩体积,在打包时效率会更高,但体积更大在服务器中就会占据更大的空间 放在assets中 ...

  2. vue 项目中assets 和static的区别

    一.Webpacked Assets 为了回答这个问题,我们首先需要了解Webpack如何处理静态资产.在 *.vue 组件中,所有模板和CSS都会被 vue-html-loader 及 css-lo ...

  3. vue-cli中自定义路径别名 assets和static文件夹的区别

    转自:vue-cli中自定义路径别名 assets和static文件夹的区别 静态资源处理: assets和static文件夹的区别 相信有很多人知道vue-cli有两个放置静态资源的地方,分别是sr ...

  4. assets文件夹与static文件夹的区别

    assets文件夹与static文件夹的区别原地址==>https://www.cnblogs.com/x123811/p/9230700.html 相同点===>assets文件夹和st ...

  5. c#中const、static、readonly的区别

    1. const与readonly const ,其修饰的字段只能在自身声明时初始化. Readonly 是只读变量,属于运行时变量,可以在类初始化的时候改变它的值.该类型的字段,可以在声明或构造函数 ...

  6. 全局变量,extern和static以及命名空间的区别

    全局变量,extern和static以及命名空间的区别        全局变量只是在声明它的文件中有效,假如在另一个文件中声明定义了一个相同名称的全局变量,则在后续使用这两个变量的时候会产生名字上的冲 ...

  7. IOS 成员变量,全局变量,局部变量定义,static与extern的区别

    IOS 成员变量,全局变量,局部变量定义,static与extern的区别 1,先说定义 1)成员变量定义:生存与该类的生命周期,变量存活周期跟你定义的该类实体对象一样:作用域是整个实体对象:可以在h ...

  8. static和final的区别(转载)

    Java中static 和final的区别 final定义的变量可以看做一个常量,不能被改变: final定义的方法不能被覆盖: final定义的类不能被继承. final static 就是再加上s ...

  9. PHP 面向对象 static 和 self 的区别

    一.前言 php是世界上最好的语言 php从面向过程走到现在成熟的面向对象体系, 在php面向对象中,静态变量的调用我们可以用这两个self::method和 static::method, 但是很多 ...

随机推荐

  1. Bootstrap 网页实例

    代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <met ...

  2. docker-ce创建gitlab-ce容器笔记

    前言 vagrant + ubuntu 16.04 设置 apt 源 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo vim ...

  3. react 编写 基于ant.design 页面的参考笔记

    前言 因为我没有系统的学习 react,是边写边通过搜索引擎找相对的问题,看 ant.design的 中文文档 编写的一个单页面, 以下的笔记都是写 gksvideourlr 时记录的. 重新设定表单 ...

  4. springboot themaleaf 各种报错

    1.访问themaleaf页面报错 Whitelabel Error Page This application has no explicit mapping for /error, so you ...

  5. Druid数据源配置入门

    Druid是什么 Druid首先是一个数据库连接池.Druid是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBos ...

  6. OC学习篇之---@property和@synthesize的使用

    在之前一片文章我们介绍了OC中的内存管理:http://blog.csdn.net/jiangwei0910410003/article/details/41924683,今天我们来介绍两个关键字的使 ...

  7. 【软工项目Beta阶段】博客目录

    绝不划水队Beta冲刺阶段博客目录 一.Scrum Meeting 第十周会议记录 第十一周会议记录 二.测试报告 Beta阶段测试报告 三.习得的软工原理/方法/技能? (1)在进行OUC-Mark ...

  8. Adobe 2019 全家桶 Win 版

    Adobe Creative Cloud 2019 4月版已更新一段时间了,为了让广大Adobe的发烧友能够第一时间体验最新的产品,happy特意为大家收集到了最新的 Adobe CC 2019 全套 ...

  9. sql server 基础语法2

    别名,选择,查询,排序,去重,筛选 select * from UserInfo as ui --起别名 select UserName,UserPwd --指定选择的列 from UserInfo ...

  10. jmeter之--断言json响应&json path espressions的语法

    一.提取所需要断言的内容: 响应数据如下:加入需要提取id为90的值 { , "name" : "python", "url" : &quo ...