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

相关推荐
Up九五小庞25 分钟前
开源埋点分析平台 ClkLog 本地部署 + Web JS 埋点测试实战--九五小庞
前端·javascript·开源
qq_177767371 小时前
React Native鸿蒙跨平台数据使用监控应用技术,通过setInterval每5秒更新一次数据使用情况和套餐使用情况,模拟了真实应用中的数据监控场景
开发语言·前端·javascript·react native·react.js·ecmascript·harmonyos
烬头88211 小时前
React Native鸿蒙跨平台应用实现了onCategoryPress等核心函数,用于处理用户交互和状态更新,通过计算已支出和剩余预算
前端·javascript·react native·react.js·ecmascript·交互·harmonyos
天人合一peng4 小时前
Unity中button 和toggle监听事件函数有无参数
前端·unity·游戏引擎
方也_arkling4 小时前
别名路径联想提示。@/统一文件路径的配置
前端·javascript
毕设源码-朱学姐4 小时前
【开题答辩全过程】以 基于web教师继续教育系统的设计与实现为例,包含答辩的问题和答案
前端
web打印社区5 小时前
web-print-pdf:突破浏览器限制,实现专业级Web静默打印
前端·javascript·vue.js·electron·html
RFCEO5 小时前
前端编程 课程十三、:CSS核心基础1:CSS选择器
前端·css·css基础选择器详细教程·css类选择器使用方法·css类选择器命名规范·css后代选择器·精准选中嵌套元素
Amumu121385 小时前
Vuex介绍
前端·javascript·vue.js
We་ct5 小时前
LeetCode 54. 螺旋矩阵:两种解法吃透顺时针遍历逻辑
前端·算法·leetcode·矩阵·typescript