返回顶部
首页 > 资讯 > 前端开发 > html >Vue-cli中静态资源管理src/assets和static/的区别是什么
  • 511
分享到

Vue-cli中静态资源管理src/assets和static/的区别是什么

2024-04-02 19:04:59 511人浏览 安东尼
摘要

这篇文章主要介绍Vue-cli中静态资源管理src/assets和static/的区别是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!资源打包为了回答这个问题,我们需要了解web

这篇文章主要介绍Vue-cli中静态资源管理src/assets和static/的区别是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

资源打包

为了回答这个问题,我们需要了解webpack是如何处理静态资源的。在所有的*.vue文件中你所有的templates 和CSS 都被vue-html-loader 和css-loader 查询资源的URLs解析. 比如说, 在 img src=”./loGo.png” 和background: url(./logo.png) 中./logo.png是一个相对资源路径,并且会被WEBpack视为一个模块依赖来解析。

因为./logo.png并非一个javascript,当将它作为模块依赖对待时,我们需要用url-loader和file-loader去处理它。这种公式化处理早已经为你配置了loader,所以你基本上可以获得诸如文件名指纹和有条件的内嵌base64,因此你能够使用相对/模块路径而不必担心部署问题。

自从这些资源可以在build期间被内联/复制/重命名,它们本质上来讲是你资源代码的一部分。这就是为什么它们被推荐用于延源资源替换Webpack-processed的内部/src资源。事实上,你甚至不必将它们放进/src/assets:你可以基于模块/组件去组织它们并使用,你可以将每一个组件放进他们自己的文件夹,随着它的静态文件正确的紧挨着它。

资源决定规则

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

  2. 无前缀URLs, 例如. assets/logo.png 将会被像相对URLs一样处理并将被转化为 ./assets/logo.png.

  3. 带~前缀的URLs 将会被看做模块请求, 类似于请求(‘some-module/image.png'). 如果你想改变Webpack的模块解决配置你需要使用这个前缀 。例如,你需要处理资源的别名,你需要使用 ~assets/logo.png去确保这个别名时受到重视的.

  4. 特权相对URLs, 例如 /assets/logo.png 是完全不作处理的.

在Javascript中获取资源路径

为了使Webpack可以正确返回资源路径, 你需要使用 require(‘./relative/path/to/file.jpg'), 它将会被file-loader处理 and returns并返回处理过的URL. 例如:

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

注意上例将会包含每个在最后一次build中的./bgs/ 下的图片。 这是由于 Webpack 无法推测它们哪个会在运行时被使用, 因此会包含所有图片.

“真正”的静态资源

对比而言, static/ 中的文件是完全不被Webpack处理的,它们被以相同的文件名直接被复制进最终目标as-is.你务必要使用绝对路径去引用它们.这是由config.js加入build.assetspublicpath和build.assetssubdirectory确定。

如下是一个含默认值得例子:

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

任何在 static/ 中的文件都需要被使用绝对路径 /static/[filename]来引用. 如果你改变assetSubDirectory 为assets, 那么这些 URLs将需要被替换为 /assets/[filename].

以上是“Vue-cli中静态资源管理src/assets和static/的区别是什么”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网html频道!

--结束END--

本文标题: Vue-cli中静态资源管理src/assets和static/的区别是什么

本文链接: https://lsjlt.com/news/74946.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Vue-cli中静态资源管理src/assets和static/的区别是什么
    这篇文章主要介绍Vue-cli中静态资源管理src/assets和static/的区别是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!资源打包为了回答这个问题,我们需要了解web...
    99+
    2024-04-02
  • C#中静态类和静态类成员的区别是什么
    C#中静态类和静态类成员的区别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。C#静态类和静态类成员用于创建无需创建类的实例就能够访问的数据和函数。静态类成员可用于分离独立...
    99+
    2023-06-17
  • mysql中静态表和动态表的区别是什么
    今天就跟大家聊聊有关mysql中静态表和动态表的区别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 静态表字段长度固定,自动填充,读写速度很...
    99+
    2024-04-02
  • java动态和静态语言的区别是什么
    今天就跟大家聊聊有关java动态和静态语言的区别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、动态语言在运行中可以改变结构的语言。例如,新函数、对象、代码可以引进,现有函数...
    99+
    2023-06-15
  • 动态IP和静态IP的使用区别是什么
    这篇文章主要讲解了“动态IP和静态IP的使用区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“动态IP和静态IP的使用区别是什么”吧!伴随着因特网的不断发展,IP代理现在是市场上需求比...
    99+
    2023-06-20
  • php常量和静态变量的区别是什么
    本教程操作环境:windows10系统、PHP7.1版、DELL G3电脑php常量和静态变量的区别是什么在效率上:常量编译过程比静态变量快的多。代码:<php error_reporting(E_ALL); class A { ...
    99+
    2014-08-20
    PHP
  • java的静态变量和实例变量的区别是什么?
    静态变量属于类的级别,而实例变量属于对象的级别。静态变量和实例变量的主要区别有两点:存放位置不同类变量随着类的加载存在于方法区中,实例变量随着对象的对象的建立存在于堆内存中。生命周期不同类变量的生命周期最长,随着类的加载而加载,随着类的消失...
    99+
    2018-12-02
    java教程 java 静态变量 实例变量
  • vue中$route和$router的区别是什么
    今天就跟大家聊聊有关vue中$route和$router的区别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。路由的设置和跳转中有两个对象$router和$route,是不是很像...
    99+
    2023-06-25
  • vue中@click和@click.native.prevent的区别是什么
    这篇文章主要介绍“vue中@click和@click.native.prevent的区别是什么”,在日常操作中,相信很多人在vue中@click和@click.native.prevent的区别是什么问题上存在疑惑,小编查阅了各式资料,整理...
    99+
    2023-06-30
  • vue中mvvm和mvc的区别是什么
    本篇内容介绍了“vue中mvvm和mvc的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!mvvm和mvc的区别:1、mvvm各部分...
    99+
    2023-07-04
  • Vue中的computed和watch的区别是什么
    Vue中的computed和watch的区别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。下面带大家认识Vue中的computed 和 watch,介绍一下compu...
    99+
    2023-06-22
  • 7个管理和优化网站资源的Python工具分别是什么呢
    7个管理和优化网站资源的Python工具分别是什么呢,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。汇总一些管理、压缩、缩小网站资源的工具在这里供大家各取所需。1️⃣django...
    99+
    2023-06-02
  • Java中静态变量与实例变量的区别是什么
    今天就跟大家聊聊有关Java中静态变量与实例变量的区别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。java类的成员变量有俩种:一种是被static关键字修饰的变量,叫类变量或...
    99+
    2023-06-17
  • vue中mixin和组件的区别是什么
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。什么是Mixin?混合 (mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式。混合对象可以包含任意组件选项。当组件使用混合对象时,所有混合对象的选项将被...
    99+
    2023-05-14
    mixin 组件 Vue
  • Vue中的watch、watch和computed的区别是什么
    本文小编为大家详细介绍“Vue中的watch、watch和computed的区别是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue中的watch、watch和computed的区别是什么”文章能帮助大家解决疑惑,下面跟着小编的思路...
    99+
    2023-07-02
  • vue组件中require和import的区别是什么
    vue组件中require和import的区别有:1.本质不同;2.遵循的规范不同;3.调用方式不同;4.性能不同;5.基本语法不同;vue组件中require和import的区别有以下几点本质不同import是一个解构过程,import语...
    99+
    2024-04-02
  • vue中传参params和data的区别是什么
    今天小编给大家分享一下vue中传参params和data的区别是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、使用d...
    99+
    2023-06-30
  • vue中v-if和v-for的区别是什么
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。首先在官方文档中明确指出v-for和v-if不建议一起使用。一、v-if和v-for的作用v-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回 true...
    99+
    2023-05-14
    vue3 v-if v-for
  • Vue中的watch是什么以及watch和computed的区别
    目录一、watch是什么?二、应用基本用法三、Watch和computed的区别computed和watch的综合运用实例需求:实现代码(helloworld.vue实现代码)一、w...
    99+
    2024-04-02
  • vue中npm run dev和npm run build的区别是什么
    这篇文章主要介绍vue中npm run dev和npm run build的区别是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!关于vue的npm run dev和npm run...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作