当前位置: 首页 > article >正文

vue 中 asstes 和 static 有什么联系与区别

  • vue 中 asstes 和 static 有什么联系与区别
  • 扩展:vue-cli 目录结构

vue 中 asstes 和 static 有什么联系与区别

在Vue中,assets目录和static目录都是用来存放静态资源的文件夹,但它们在使用和功能上有一些区别。

  1. assets目录:

    • assets目录是相对于源代码的,通常用于存放项目中需要经过构建处理的资源文件,例如图片、样式表、字体等。
    • 这些资源文件在构建时会被Webpack等构建工具处理,通常会进行压缩、合并等操作,并将其路径转为模块引入,以便在组件中使用。通过这种方式,资源文件可以享受到Vue的模块化管理和优化。
    • 在组件中引用assets目录下的资源文件时,可以使用相对路径或别名(如@/assets)来引用。
  2. static目录:

    • static目录是位于源代码根目录下的静态资源文件夹,其中的文件不会被构建工具处理,而是原封不动地复制到构建输出的根目录(如dist目录)下。
    • 适合存放那些不需要经过构建处理的资源文件,例如favicon.ico、一些第三方库的文件等。这些文件会保持原始的路径结构,可以直接通过URL访问到。
    • 在组件中引用static目录下的资源文件时,需要使用绝对路径来引用,例如/static/img/logo.png

总结:

  • assets目录中的资源文件会被构建工具处理和优化,适合需要通过模块引入的文件。
  • static目录中的资源文件不会经过构建处理,适合不需要改变路径和处理的文件。

扩展:vue-cli 目录结构

Vue CLI 是一个官方提供的 Vue.js 项目脚手架工具,它生成的项目通常具有一种约定的目录结构。下面是一个常见的 Vue CLI 生成的项目目录结构示例:

|- node_modules/        // 依赖的第三方模块
|- public/              // 静态资源和入口HTML文件
|  |- favicon.ico       // 网站图标
|  |- index.html        // 入口HTML文件
|- src/                 // 源代码目录
|  |- assets/           // 静态资源文件
|  |- components/       // Vue 组件文件
|  |- views/            // 页面文件
|  |- App.vue           // 根组件
|  |- main.js           // 入口JS文件
|- .browserslistrc      // 浏览器兼容配置
|- .eslintrc.js         // ESLint 配置文件
|- package.json         // 项目配置和依赖管理文件
|- README.md            // 项目说明文档

这是一个简化的目录结构,实际项目中可能会包含更多的文件和文件夹。以下是对上述目录结构的说明:

  • node_modules/:存放项目所依赖的第三方模块文件夹。
  • public/:存放静态资源和入口HTML文件的文件夹。
    • favicon.ico:网站的图标文件。
    • index.html:项目的入口HTML文件,Webpack打包后的文件会被插入到这个HTML中。
  • src/:存放源代码的文件夹。
    • assets/:存放静态资源文件,如图片、样式表等。
    • components/:存放Vue组件文件的文件夹。
    • views/:存放页面文件(通常是由多个Vue组件组合而成的页面)的文件夹。
    • App.vue:根组件,整个应用的入口组件。
    • main.js:入口JS文件,创建Vue实例并配置全局设置。
  • .browserslistrc:浏览器兼容性配置文件,用于设置项目所需支持的浏览器版本。
  • .eslintrc.js:ESLint 配置文件,用于设置代码规范和语法检查规则。
  • package.json:项目配置和依赖管理文件。
  • README.md:项目的说明文档,通常包含项目的介绍、安装步骤、使用方法等信息。

这只是一个常见的目录结构示例,实际项目中可能根据具体需求和团队规范进行调整和扩展。


http://www.kler.cn/a/146936.html

相关文章:

  • 数据分析24.11.13
  • 淘宝 NPM 镜像源
  • H.265流媒体播放器EasyPlayer.js网页直播/点播播放器WebGL: CONTEXT_LOST_WEBGL错误引发的原因
  • 在Qt(以及C++)中, 和 * 是两个至关重要的符号--【雨露均沾】
  • 利用Python爬虫获取淘宝店铺详情
  • 一体化运维监控管理平台:产品架构与功能解析
  • python-opencv 人脸68点特征点检测
  • git日历坐标系? 手动实现github活跃/贡献图
  • Android UnsatisfiedLinkError问题定位
  • AIGC系列之:DDPM原理解读(简单易懂版)
  • C语言——打印出所有的“水仙花数”
  • Day49:647. 回文子串、516.最长回文子序列
  • WPF实战项目十七(客户端):数据等待加载弹框动画
  • 「Linux」git的安装与使用
  • Android 12 打开网络ADB并禁用USB连接ADB
  • Ubuntu新手使用教程
  • 汇编:关于栈的知识
  • mybatis配置文件中配置类型别名的方式
  • 鸿蒙应用开发-初见:ArkUI
  • uni-app+vue3 封装全局函数(详细完整的方法)
  • 笔记62:注意力汇聚 --- Nadaraya_Watson 核回归
  • threejs下监听mesh事件与监听3D对象的区别
  • 28. Spring源码篇依赖注入之Optional
  • 【LeetCode】挑战100天 Day14(热题+面试经典150题)
  • Using Application Engine Meta-SQL 使用应用引擎元SQL
  • Java制作“简易王者荣耀”小游戏