02vue3实战-----项目目录详解

02vue3实战-----项目目录详解

1.目录完整结构

不同人创建出来的vue脚手架可能有所不同,这与版本有关。但目录结构基本上大同小异,大致知道每个文件是干什么的就可以了。

2.extensions.json文件

extensions.json文件在.vscode文件夹中。recommendations是推荐的意思,表示在进行开发之前最好安装一些推荐的插件。比如Vue.volar,表示要安装volar插件。

点击插件图标(我用的工具是vscode编译器):

在搜索栏搜索volar:

一般就可以搜索到相关插件。这个volar插件已经废弃,现在已经用Vue-official来取代了,所以我们安装Vue-official(点击安装按钮即可安装,上述图片中我已经安装了,所以没有安装按钮)。

3.node_modules文件夹

存放第三方库的文件夹。我们再熟悉不过了,不用过多解释。

4.public文件夹

放一些公共资源的。

5.src文件夹

该文件夹里面是我们编写的源代码。整理一下文件夹里面的内容,新建一些东西,大概类似这样子:

6.文件.gitignore

git忽略文件

7.文件env.d.ts

是一个声明文件。

按ctrl+鼠标左键,点击reference中引入"vite/client"后可以跳转到相关源码如下:

会发现里面全是声明的模块。如果之后自己有一些额外的需要声明的东西,可以追加在env.d.ts中。

8.文件index.html

项目的入口模板。

9.文件package-lock.json和文件package.json

版本锁定文件。

10.文件README.md

追加的便于其他人阅读的一些注意点可以写在里面。

11.文件vite.config.ts

该文件是给我们的vite做一些配置,之前都是配置webpack的。其实这两者很多时候很类似,都是配置的过程。

typescript 复制代码
import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  resolve: {
    //配置别名,这个大家应该都很熟悉
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  }
})

在之前配置webpack时候,有一个vue.config.js的文件,我们可以在该文件中进行各种配置。

12.文件tsconfig.json和文件tsconfig.config.json

有些人不一定是这两个文件,但大同小异。这方面只需要了解个大概即可。

tsconfig.json文件:

javascript 复制代码
{
  //继承的文件,可以去node_modules中找到tsconfig.web.json,里面有一堆配置,最终会将该文件和tsconfig.web.json文件进行集成。
  //tsconfig.web.json中将一些公共的并且不需要被普通人看到的配置隐藏了起来。
  "extends": "@vue/tsconfig/tsconfig.web.json",
  //表示需要编译的文件
  "include": ["src/**/*", "src/**/*.vue", "env.d.ts"],
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      //这个别名是为了vscode提示的,和vite.config.ts中的配置别名不一样
      "@/*": ["./src/*"]
    }
  },
  //引入的文件
  "references": [
    {
      //之后不建议在tsconfig.json中修改配置,建议在tsconfig.config.json中修改配置文件
      "path": "./tsconfig.config.json"
    }
  ]
}

tsconfig.config.json文件:

javascript 复制代码
{
  //tsconfig.node.json用于SSR,SSR是基于node的;同时tsconfig.node.json可以用于对vite.config.*等进行编译
  "extends": "@vue/tsconfig/tsconfig.node.json",
  "include": ["vite.config.*", "vitest.config.*", "cypress.config.*"],
  "compilerOptions": {
    "composite": true,
    "types": ["node"]
  }
}

看起来确实有点绕,原因是这些东西被拆分的太细了。但这样子粒度就很精细,至于这个是否是"过度封装",就是仁者见仁智者见智了。

13.文件.eslintrc.cjs和文件.prettierrc.json

这个里面的配置比较复杂,详细说明见后续文章https://blog.csdn.net/fageaaa/article/details/145474065

相关推荐
GISer_Jing5 分钟前
前端工程化和性能优化问题详解
前端·性能优化
学渣y19 分钟前
React文档-State数据扁平化
前端·javascript·react.js
njsgcs25 分钟前
画立方体软件开发笔记 js three 投影 参数建模 旋转相机 @tarikjabiri/dxf导出dxf
前端·javascript·笔记
一口一个橘子26 分钟前
[ctfshow web入门] web71
前端·web安全·网络安全
逊嘘39 分钟前
【Web前端开发】HTML基础
前端·html
未脱发程序员2 小时前
【前端】每日一道面试题3:如何实现一个基于CSS Grid的12列自适应布局?
前端·css
三天不学习2 小时前
Visual Studio Code 前端项目开发规范合集【推荐插件】
前端·ide·vscode
爱分享的程序猿-Clark2 小时前
【前端分享】CSS实现3种翻页效果类型,附源码!
前端·css
Code哈哈笑3 小时前
【图书管理系统】深度讲解:图书列表展示的后端实现、高内聚低耦合的应用、前端代码讲解
java·前端·数据库·spring boot·后端
无名之逆3 小时前
Hyperlane: Unleash the Power of Rust for High-Performance Web Services
java·开发语言·前端·后端·http·rust·web