怎样使用vue2.0资源文件assets和static

这次给大家带来怎样使用vue2.0资源文件assets和static,使用vue2.0资源文件assets和static的注意事项有哪些,下面就是实战案例,一起来看一下。

资源文件处理

在我们的项目结构里,有两个资源文件的路径,分别是:src/assets 和 static/。那这两个到底有什么区别呢?

Webpacked 资源

为了回答这个问题,我们首先需要理解webpack是怎样处理静态资源的。在*.vue组件中,所有的templates和css都会被vue-html-loader 和 css-loader解析,寻找资源的URL。

举个例子,在 怎样使用vue2.0资源文件assets和static 和 background: url(https://www.php.cn/faq/logo.png), “https://www.php.cn/faq/logo.png”中,都是相对资源路径,都会被Webpack解析成模块依赖 。

由于logo.png不是JavaScript,当被看成一个模块依赖的时候,我们需要使用url-loader 和 file-loader进行处理。 该模板已经配置好了这些loaders,所以你能够使用相对/模块路径时不需要担心部署的问题。由于这些资源可能在构建的时候被内联/复制/重命名, 所以它们从本质上来说是你源码的一部分。这就是为什么我们建议将交由webpack处理的静态资源和其它源文件一样放在/src路径下面。实际上,你甚至不需要把它们全都放在/src/assets路径下:你可以基于模块/组件的使用来组织文件结构。例如,你可以把每个组件和属于它的静态资源放在它自己的目录下。

资源处理规则

相对URL, e.g. ./assets/logo.png 将会被解释成一个模块依赖。它们会被一个基于你的Webpack输出配置自动生成的URL替代。没有前缀的URL, e.g. assets/logo.png 将会被看成相对URL,并且转换成./assets/logo.png

前缀带~的URL 会被当成模块请求, 类似于require(‘some-module/image.png’). 如果你想要利用Webpack的模块处理配置,就可以使用这个前缀。例如,如果你有一个对于assets的路径解析,你需要使用 怎样使用vue2.0资源文件assets和static 来确保解析是对应上的。相对根目录的URL, e.g. /assets/logo.png 是不会被处理的

在 Javascript中获取资源路径

为了能让Webpack返回正确的资源路径,你需要使用require(‘./relative/path/to/file.jpg’),由file-loader进行解析,然后返回处理过的URL。例如:

computed: { background () {  return require('./bgs/' + this.id + '.jpg') }}

登录后复制

注意上面的例子,在最终的构建时将会包含./bgs/路径下的所有图片 这是因为Webpack不能猜出来在运行时会用到其中的哪个,所以会包含所有的。

“真实的” 静态资源

作为对比,在static/下的文件都不会被Webpack处理:它们使用相同的文件名,直接拷贝到最终的路径。你必须使用绝对路径来引用这些文件,取决于在config.js里面加入的build.assetsPublicPath 和 build.assetsSubDirectory。

举个例子,下面的默认值是:

// config/index.jsmodule.exports = { // ... build: {  assetsPublicPath: '/',  assetsSubDirectory: 'static' }}

登录后复制

所有放在 static/目录下的文件都应该是使用绝对URL/static/[filename]引用的。如果你将assetSubDirectory的值改成assets, 那么这些URL就会被变成 /assets/[filename]

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

怎样使用JS做出动态添加HTML标记

如何使用JS获取并修改input文本框数据

以上就是怎样使用vue2.0资源文件assets和static的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2756231.html

(0)
上一篇 2025年3月8日 07:29:29
下一篇 2025年3月8日 07:29:36

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • VUE2.0中Jsonp使用步奏详解

    这次给大家带来VUE2.0中Jsonp使用步奏详解,VUE2.0中Jsonp使用的注意事项有哪些,下面就是实战案例,一起来看一下。 1.JSONP的用途和原理 使用JSONP主要是目的通过动态创建Script,动态拼接url,进而抓取数据,…

    2025年3月8日 编程技术
    200
  • 怎样使用vue2.0实现导航守卫

    这次给大家带来怎样使用vue2.0实现导航守卫,使用vue2.0实现导航守卫的注意事项有哪些,下面就是实战案例,一起来看一下。 导航守卫(navigation-guards)这个名字,听起来怪怪的,但既然官方文档是这样翻译的,就姑且这么叫吧…

    编程技术 2025年3月8日
    200
  • vue2.0内路由守卫使用方法详解

    这次给大家带来vue2.0内路由守卫使用方法详解,vue2.0内路由守卫使用的注意事项有哪些,下面就是实战案例,一起来看一下。 路由跳转前做一些验证,比如登录验证,是网站中的普遍需求。 对此,vue-route 提供的 beforeRout…

    编程技术 2025年3月8日
    200
  • vue2.0安装style/css loader的方法

    下面我就为大家分享一篇vue2.0安装style/css loader的方法,具有很好的参考价值,希望对大家有所帮助。 项目需要引用额外的ui组件库,就需要安装style-loader和css-loader 安装style-loader  …

    2025年3月8日
    200
  • Vue2.0 事件的广播与接收(观察者模式)

    这篇文章主要介绍了vue2.0 事件的广播与接收(观察者模式),现在分享给大家,也给大家做个参考。 1.Vue1.0 事件的广播与接收(观察者模式) 早期vue1.0组件之间的这通信传递数据的方法,vue官网给出了两上方法 $dispatc…

    2025年3月8日
    200
  • vue2.0模拟锚点的实例

    下面我就为大家分享一篇vue2.0模拟锚点的实例,具有很好的参考价值,希望对大家有所帮助。 在vue项目中,因为采用路由跳转,会导致无法使用常规的a标签配合ID的锚点功能。 解决办法:  灰啊灰啊我的骄傲放纵登录后复制 立即学习“前端免费学…

    编程技术 2025年3月8日
    200
  • vue2.0路由切换后页面滚动位置不变BUG的解决方法

    下面我就为大家分享一篇vue2.0路由切换后页面滚动位置不变bug的解决方法,具有很好的参考价值,希望对大家有所帮助。 最近项目中遇到这样一个问题,vue切换路由,页面到顶端的滚动距离仍会保持不变。 立即试用个人中心登录后复制 useRig…

    编程技术 2025年3月8日
    200
  • Vue2.0 给Tab标签页和页面切换过渡添加样式的方法

    下面我就为大家分享一篇vue2.0 给tab标签页和页面切换过渡添加样式的方法,具有很好的参考价值,希望对大家有所帮助。 使用vue-router构建单页应用时,如何给当前页面的标签页添加样式呢? 1.在app.vue文件中你的nav中添加…

    2025年3月8日 编程技术
    200
  • vue2.0 根据状态值进行样式的改变展示方法

    下面我就为大家分享一篇vue2.0 根据状态值进行样式的改变展示方法,具有很好的参考价值,希望对大家有所帮助。 用户在进行流程操作的时候,一般分为进行中,未开始,已完成,前端页面就要进行相应的状态区分展示。这里测试的是背景颜色区分。 dem…

    编程技术 2025年3月8日
    200
  • 怎样使用vue2.0实现移动端的输入框实时检索更新

    这次给大家带来怎样使用vue2.0实现移动端的输入框实时检索更新,使用vue2.0实现移动端的输入框实时检索更新的注意事项有哪些,下面就是实战案例,一起来看一下。 最近在做vue2.0的项目遇到一个移动端实时检索搜索更新列表的效果,当用户在…

    2025年3月8日 编程技术
    200

发表回复

登录后才能评论