zoukankan      html  css  js  c++  java
  • vue static和assets的区别

    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放自己家的资源。

  • 相关阅读:
    angularjs加载html
    git 使用
    图片压缩原理讲解很通透
    angularjs 实现多个图片上传及预览
    HTML 空格转义符的用法
    docker-volumes
    docker-管理数据
    docker-代理服务器
    docker-none
    docker-macvlan
  • 原文地址:https://www.cnblogs.com/zhilu/p/13850239.html
Copyright © 2011-2022 走看看