用过的大部分人都知道,assets和static都用于在Vue中存储静态资源,那两者有何区别呢?
相同点
- assets 和 static 两个都是用来存放静态资源文件;
- 项目中所需要的资源文件图片、字体图标、样式文件等都可以放在这两个目录下
不同点
- assets 中存放的静态资源文件在项目打包时,即:在运行 npm run build 时,会将 assets 中放置的静态资源文件进行打包上传(所谓打包,简单点可以理解为压缩体积、代码格式化),而压缩后的静态资源文件最终也都会放置在 static 目录中跟着 index.html 一同上传至服务器;
- static 中存放的静态资源文件不会要走打包压缩格式化等流程,而是直接进入打包好的目录,直接上传至服务器。因为避免了压缩直接进行上传,在打包时会提高一定的效率,但是 static 中的资源文件由于没有进行压缩等操作,所以文件的体积也就相对于 assets 中打包后的文件提交大一点儿,在服务器中就会占据更大的空间。
注: 将项目需要的样式文件、 js 文件等都可以放置在 assets 中,走打包这一流程,减少体积;而项目中引入的第三方的资源文件,如:iconfont.css 等文件可以放置在 static 中,因为这些引入的第三方文件已经经过处理,我们不再需要处理,直接上传。