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

vue项目 中 asstes文件夹 与 static文件夹 的联系与区别

相同点
  • 项目结构:都是 Vue 项目结构的一部分,帮助组织和管理项目资源。
  • 存放静态资源:两者都是用于存放项目中的静态资源,如图片、样式、字体等。
  • 构建输出:在项目构建时,虽然处理方式不同,但最终这两个文件夹中的资源都会被包含在构建输出中,供应用使用。
区别:
1.asstes文件夹
  • 作用assets 文件夹用于存放需要经过 Webpack 处理的静态资源。Webpack 会对这些资源进行打包、压缩和优化,以提高项目的性能和加载速度。

适用资源

  • 图片(如 logo、背景图等)
  • 样式文件(css、scss、less等)
  • 字体文件
  • 其他资源(如 JSON 文件等)

引用方式:通常使用相对路径或 requireimport 的方式引用。例如:

// vue组件中引入
<template>
  <div>
    <img :src="require('@/assets/images/logo.png')" alt="Logo">
  </div>
</template>

// js
<script>
import logo from '@/assets/images/logo.png';

export default {
  data() {
    return {
      logoSrc: logo,
    };
  },
};
</script>

// 样式
<style scoped>
@import '@/assets/styles/global.css';
</style>

//字体
@font-face {
  font-family: 'MyFont';
  src: url('@/assets/fonts/myfont.woff2') format('woff2');
}

static 文件夹

  • 作用:用于存放不需要经过 Webpack 处理的静态资源。其中的文件不会被构建工具处理,而是原封不动地复制到构建输出的根目录(如dist目录)下

适用资源

  • favicon(网站图标)
  • 第三方库文件(如Echarts、 jQuery、Bootstrap 等外部库的 CSS/JS 文件)
  • 直接引用的文件(如 PDF、Word 文档等)

引用方式:通常使用绝对路径直接引用。例如:

// 引入 CSS 文件
<link rel="stylesheet" href="/static/styles/global.css">

// 通过绝对路径引入图片或其他文件
<img src="/static/images/logo.png" alt="Logo">

// 引入 CSS 文件
<link rel="stylesheet" href="/static/styles/global.css">

// 引入 JavaScript 文件
<script src="/static/js/script.js"></script>

// Vue 组件引入
<template>
  <div>
    <img src="/static/images/logo.png" alt="Logo">
  </div>
</template>
区别与联系
  • 处理方式:

    • assets 中的文件会经过 Webpack 的处理,包括打包、压缩等。

    • static 中的文件不会经过 Webpack 处理,直接复制到输出目录。

  • 引用方式:

    • assets 中的文件需要使用相对路径或 require 等方式引用。

    • static 中的文件可以通过绝对路径直接引用。

  • 使用目的:

    • assets 适合存放在应用中动态引用或需要优化的资源。

    • static 适合存放公共资源或不需要处理的文件。

总结

⭐使用建议:

  • 将需要经过处理的、在应用中动态引用的资源放入 assets 文件夹。

  • 将不需要处理的、公共的资源放入 static 文件夹。

在 Vue 项目中,合理地将资源放入 assetsstatic 文件夹,可以更好地管理项目资源,优化构建过程,提高构建效率和应用性能。


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

相关文章:

  • 全志H618 Android12修改doucmentsui鼠标单击图片、文件夹选中区域
  • MVVM、MVC、MVP 的区别
  • OpenGL ES 01 渲染一个四边形
  • nginx自定义错误日志
  • web自动化测试知识总结
  • CSDN数据大屏可视化【开源】
  • React 底部加载组件(基于antd)
  • String.prototype.padStart() 方法来实现日不足两位时补充零
  • 算法基础——递归
  • 最新 neo4j 5.26版本下载安装配置步骤【附安装包】
  • 梳理你的思路(从OOP到架构设计)_介绍GoF设计模式
  • 伪逆不能把矩阵变成单位阵
  • 【AI系列】Paddle Speech安装指南
  • Django REST framework(DRF)在处理不同请求方法时的完整流程
  • C#中的ConcurrentDictionary:线程安全实现与高效并发访问
  • 机器学习之拟合
  • 基于单片机的Wi-Fi控制智能窗帘设计
  • 深入理解 HTTP HEAD 请求:节省带宽、提高效率的秘密武器
  • flux模型的下载、配套及简易使用记录(ubuntu)
  • Laya ios接入goole广告,搭建环境 1
  • 一款轻量级的开源笔记服务软件
  • 常见八股文03
  • 怎么给git动图扣除背景?
  • #{ }和${ } 、参数处理
  • Linux安装mysql5.7
  • CDN与Nginx:如何合理选择内容存放与分发方式