vue中打包dist文件内assets 和 static 的区别

news/2024/12/15 7:10:09/

背景

在Vue.js项目中,assets 和 static 是两个用于存放静态资源的文件夹,但它们在使用方式和处理机制上有所不同

用途

assets:

  • assets 文件夹通常用于存放那些需要在构建过程中被Webpack处理的静态资源。
  • 这些资源可以包括图片、字体、样式文件(如CSS、SCSS等)以及JavaScript文件。

static:

  • static 文件夹用于存放那些不需要经过Webpack处理的静态资源。
  • 这些资源通常包括一些第三方库、图片、视频等,它们不需要被Webpack进行任何转换或打包。

机制

assets:

  • Vue CLI在构建项目时,会将这些资源作为模块来处理。
  • 对于图片和字体等资源,Webpack会进行URL解析和路径重写,确保在最终打包后的文件中,资源的路径是正确的。
  • 对于样式文件,Webpack会使用相应的loader(如css-loadersass-loader等)进行解析和转换。
  • 在模板或组件中引用assets中的资源时,可以使用相对路径,Webpack会自动处理这些路径。

static:

  • 在构建过程中,static 文件夹中的内容会被直接复制到最终打包的dist目录中,而不会经过Webpack的任何处理。
  • 因此,static 文件夹中的资源路径是相对于dist目录的。

引用方式

assets:

  • 在Vue组件中,可以通过相对路径来引用assets中的资源。例如,如果有一张图片位于src/assets/images/logo.png,则可以在组件中这样引用:<img src="@/assets/images/logo.png" alt="Logo">。注意,@符号是Vue CLI配置中的一个别名,默认指向src目录。

static:

  • 在引用static文件夹中的资源时,需要使用绝对路径(相对于dist目录的路径)或者通过根路径(/)来引用。例如,如果有一张图片位于public/static/images/background.png,则可以在HTML或CSS中这样引用:<img src="/static/images/background.png" alt="Background">

场景选择

  • assets:用于存放需要在构建过程中被Webpack处理的资源,如图片、字体、样式文件等。这些资源在引用时可以使用相对路径,并且Webpack会自动处理这些路径。
  • static:用于存放不需要经过Webpack处理的静态资源,如第三方库、图片、视频等。这些资源在引用时需要使用绝对路径或根路径。

注:选择使用哪个文件夹取决于资源的具体需求和是否需要进行构建处理。如果资源需要在构建过程中被处理(如图片压缩、CSS预处理等),则应该放在assets文件夹中;如果资源不需要任何处理,则可以直接放在static文件夹中。


http://www.ppmy.cn/news/1555234.html

相关文章

Python实现银杏树绘制与效果展示

银杏树&#xff0c;因其形态优美、叶片独特而被人们喜爱。银杏的叶子呈扇形&#xff0c;秋天时叶片呈现出金黄的色彩&#xff0c;成为秋季的代表之一。今天&#xff0c;我们将使用Python的turtle库来绘制一棵具有银杏树&#x1f342;特色的树。 通过编写Python代码&#xff0c;…

总结与提升

今天学习了ai&#xff0c;对今天学习的内容进行总结。 本文参考chat gpt-4的训练文献。 模型架构基础 Transformer 架构&#xff1a;ChatGPT 采用了 Transformer 架构&#xff0c;这是一种基于自注意力机制的深度学习模型架构。它能够并行计算文本中的长期依赖关系&#xff…

量化分析:股票的筹码分布和获利比例

筹码分布 筹码分布是股票分析里面的一个比较简单的部分&#xff0c;通过查看筹码的分布图形&#xff0c;判断当前的股票的压力的指数&#xff0c;通过查看获利的比例来计算有多少人愿意出&#xff0c;有多少人愿意保持价格 目前的很多工具也是可以直接去查看的&#xff0c;但…

02-51单片机的C语言基础与最小系统

C语言基础 一个简单的单片机C程序要有什么 #include<reg51.h> void main() {while(1){} }C语言中常用语句略&#xff0c;if,while,do…while,for,switch…case 函数略 C&#xff0d;51的数据类型扩充定义 sfr:特殊功能寄存器声明sfr 变量名地址值&#xff1b;*特殊功…

从万维网到人工智能:改变生活的11项技术里程碑

1984 年 1 月 24 日&#xff0c;苹果公司推出了 Macintosh 128K&#xff0c;从此永远改变了个人电脑的面貌。 史蒂夫・乔布斯&#xff08;Steve Jobs&#xff09;这款小巧且用户友好的电脑向全世界引入了图形用户界面&#xff0c;标志着个人技术发展历程中的一个关键时刻。 从…

笔墨游戏 蒙养生活 了解林曦老师的中国画美育直播课

你觉得&#xff0c;美是什么?一张画&#xff0c;一个雕塑&#xff0c;一段音乐      是&#xff0c;也不仅仅是这样      “美者&#xff0c;甘也”美&#xff0c;是一种甘甜的味道      是对生活的兴味与体验它关乎一种畅达而自如的人生在林曦老师的中国画美育课…

【0x000A】HCI_Reject_Connection_Request命令详解

目录 一、命令概述 二、命令格式及参数说明 2.1. HCI_Reject_Connection_Request命令格式 2.2. 参数说明 2.2.1. BD_ADDR&#xff08;蓝牙设备地址&#xff09; 2.2.2. Reason&#xff08;拒绝原因&#xff09; 三、返回事件及参数说明 3.1. 返回参数 3.2. 生成的事件…

Flink一些常用API的使用(Flink中的Source以及Flink中的一些常用算子)

文章目录 一、Source1、预定义Source2、自定义Source【重要】3、Kafka Source【重要】 二、Transformation-转换算子1、union和connect-合并和连接2、Side Outputs&#xff08;侧道输出&#xff09;--分流 一、Source 1、预定义Source 基于本地集合的source&#xff08;Colle…