关于初始化一个 Vue or React 项目你需要知道的一切

239 阅读9分钟

本文将详细介绍初始化前端项目的全过程,从搭建到项目结构介绍,内容专业详实。建议边读边实践,有点干备好水,让我们开始这段充实的技术之旅吧。

1. npm是什么?

npm(Node Package Manager)是与 Node.js 捆绑在一起的软件包管理工具,它主要用于管理和分发 JavaScript 代码。npm 提供了一个庞大的在线仓库,用于查找、安装、共享和管理项目所需的库和依赖项。常见功能如下:

  • 包管理:npm 允许开发者轻松地搜索、安装、更新和卸载各种第三方库或模块,这些库可以是其他开发者发布的公共包,也可以是你自己开发的私有包。
  • 版本控制:通过 package.json 文件,npm 能够精确记录项目依赖的具体版本号,确保不同环境中的一致性。
  • 脚本运行:可以在 package.json 中定义自定义脚本命令,如启动服务器、构建项目、执行测试等,简化了日常开发任务。

常见命令如下:

npm init // 引导用户创建一个新的 package.json 文件
npm i // 安装指定的包及其依赖,并将其添加到 package.json 的 dependencies 字段中
npm update // 更新所有已安装的包至最新版本,但不会超出 package.json 中指定的版本范围。
npm outdated // 列出所有可更新的包及其当前版本和最新版本。
npm run <script-name> // 执行 package.json 中定义的自定义脚本命令。

2. Vite

Vite(法语“快速”的意思)是由 Vue.js 作者尤雨溪发起的下一代前端构建工具。它旨在通过原生 ES 模块导入优化开发体验,提供极快的冷启动速度和热更新(HMR)。Vite 的设计理念是简化现代 Web 应用的开发流程,同时保持高效的生产构建性能。基本有以下优势

  • 开发效率提升:得益于快速启动和即时 HMR,开发者可以在更短的时间内看到更改效果,从而更快地完成任务。
  • 更好的开发体验:Vite 减少了不必要的等待时间和复杂的配置过程,使得开发更加流畅。
  • 兼容性与灵活性:尽管专注于简化开发流程,但 Vite 仍然提供了足够的灵活性来满足不同项目的需求。例如,可以通过插件系统扩展其功能。

创建一个新项目的基本命令:

npm init vite
cd <project-name>
npm i
npm run dev

3. 项目结构介绍

3.1 .vscode

.vscode 文件夹是 Visual Studio Code (VS Code) 编辑器专用的一个隐藏文件夹,通常位于项目的根目录下。它用于存储与项目相关的配置文件和设置,以便为开发者提供更优化的开发体验。主要有以下作用:

  • 项目特定设置:允许每个项目拥有独立于全局设置的配置选项,确保不同项目之间不会相互影响。
  • 团队协作一致性:通过将编辑器配置纳入版本控制系统(如 Git),可以保证所有团队成员使用相同的设置,从而减少因环境差异导致的问题。

3.2 node_modules

node_modules 文件夹是 Node.js 项目中用于存放依赖包的目录,它确保了项目所需的所有第三方库和工具都可以在运行时正确加载。简单来说就是安装的所有依赖都会丢到这里去

3.3 public

在 Vue 和 React 项目中,public 文件夹用于存放那些不需要经过构建工具处理的静态资源文件。这些文件会直接复制到输出目录,并可以通过相对路径或绝对路径直接访问。主要特点如下:

  • 静态资源存储public 文件夹主要用于存放那些不需要编译或处理的静态文件,如 HTML 文件、图片、字体、图标等。
  • 直接访问:这些文件可以直接通过 URL 访问,而不需要通过打包后的 JavaScript 或 CSS 文件引入。
  • 避免构建干扰:由于这些文件不会被构建工具处理,因此可以确保它们保持原始状态,这对于某些特定类型的文件(如 favicon.ico 或 robots.txt)非常重要。

3.4 src

src 文件夹是现代前端项目中至关重要的组成部分,尤其在使用构建工具(如 Vite、Create React App、Vue CLI 等)时。它用于存放项目的源代码文件,这些文件将经过构建工具处理、编译和优化,最终生成生产环境可用的静态资源。

  • Vue src:
    • main.js 或 main.ts:应用程序的入口文件,负责创建 Vue 实例并挂载到 DOM 中。通常会导入全局样式、插件等。
    • App.vue:根组件文件,定义了应用的整体布局或导航结构。对于 Vue 项目,这是一个 .vue 文件,内部包含了模板、逻辑和样式三部分。
    • assets/ :存放项目所需的静态资源,如图片、字体等。与 public 文件夹不同,这里的资源会经过构建工具处理,例如图片可能会被压缩或转换格式,字体文件可能会被打包进 CSS 中。
    • components/ :包含所有自定义 UI 组件。每个组件通常都有自己的文件夹,里面包含模板、样式和逻辑代码。这种方式有助于保持组件之间的独立性和可复用性。
    • router/ :如果项目使用 Vue Router 进行路由管理,这里会存放路由配置文件。
    • store/ :如果项目使用 Vuex 进行状态管理,这里会存放状态管理相关的代码。
    • views/ :存放页面级别的组件,通常对应于不同的路由视图。
    • styles/ 或 scss/ 或 sass/ 或 less/ :存放全局样式文件或主题相关的样式定义。根据项目使用的预处理器不同,可能有不同的文件夹名称(如 SCSS、SASS、LESS 等)。
    • utils/ :放置一些实用工具函数或辅助类,如日期格式化、字符串操作、API 请求封装等。
    • services/ :定义与后端交互的服务层代码,比如 API 调用、数据处理逻辑等。
    • config/ :存储项目配置信息,如环境变量设置、第三方库配置等。
    • tests/ :包含单元测试、集成测试等相关文件,确保代码质量。
  • React src:
    • index.js 或 index.jsx:应用程序的入口文件,负责渲染根组件到 DOM 中。通常会导入全局样式、插件等。
    • App.js 或 App.jsx:根组件文件,定义了应用的整体布局或导航结构。对于 React 项目,这是一个 .js 或 .jsx 文件,内部包含了 JSX 模板和逻辑代码。
    • assets/ :存放项目所需的静态资源,如图片、字体等。与 public 文件夹不同,这里的资源会经过构建工具处理,例如图片可能会被压缩或转换格式,字体文件可能会被打包进 CSS 中。
    • components/ :包含所有自定义 UI 组件。每个组件通常有自己的文件夹,里面包含模板、样式和逻辑代码。这种方式有助于保持组件之间的独立性和可复用性。
    • hooks/ :存放自定义 Hook 函数,帮助简化状态管理和副作用处理。
    • pages/ :存放页面级别的组件,通常对应于不同的路由视图。
    • styles/ 或 scss/ 或 sass/ 或 less/ :存放全局样式文件或主题相关的样式定义。根据项目使用的预处理器不同,可能有不同的文件夹名称(如 SCSS、SASS、LESS 等)。
    • utils/ :放置一些实用工具函数或辅助类,如日期格式化、字符串操作、API 请求封装等。
    • services/ :定义与后端交互的服务层代码,比如 API 调用、数据处理逻辑等。
    • config/ :存储项目配置信息,如环境变量设置、第三方库配置等。
    • tests/ :包含单元测试、集成测试等相关文件,确保代码质量。

3.5 index.html

index.html 文件是 Vue 和 React 项目中的主 HTML 文件,它定义了应用程序的基本结构,并作为应用的入口点。这个文件通常位于项目的根目录或 public 文件夹中(取决于项目模板和构建工具)。一句话总结一下就是程序的入口。

3.6 package.json && package-lock.json

两者都位于项目的根目录下,共同协作以确保项目的依赖管理和构建过程的一致性和稳定性。都是现代 JavaScript 项目不可或缺的一部分,帮助开发者高效地管理依赖和配置项目。

  • package.json : 是一个 JSON 格式的文件,位于项目的根目录下,用于描述项目的元数据以及声明项目的依赖项。有以下主要内容
    • 项目元数据:包括项目的名称、版本、描述、作者、许可证等基本信息。
    • 依赖管理:列出项目运行所需的依赖包(dependencies)及其版本范围,以及开发时使用的工具包(devDependencies)。
    • 脚本命令:定义了常用的 npm 脚本命令,如启动服务器、构建项目、执行测试等。
    • 模块入口点:指定应用程序的入口文件(如 main 字段),以及其他配置选项。
  • package-lock.json : 也是一个 JSON 格式的文件,它记录了确切的版本号和下载路径,保证每次安装依赖时都能得到完全相同的依赖树,从而提高构建的一致性和可重复性。有以下主要内容
    • 依赖锁定:记录了每一个直接和间接依赖的具体版本号、来源(registry URL)、校验和(integrity hash)等信息。
    • 依赖关系图:描述了一个完整的依赖关系图,包括子依赖之间的版本锁定。

3.7 vite.config.js

vite.config.js 是 Vite 构建工具的配置文件,它允许开发者自定义和扩展 Vite 的默认行为,以满足项目的特定需求。无论是 Vue 还是 React 项目,vite.config.js 都是一个非常重要的文件,用于配置开发服务器、构建选项以及其他插件或工具。

3.8 .gitignore

.gitignore 文件是版本控制系统(如 Git)中的一个重要文件,它用于指定哪些文件和目录不应被纳入版本控制。在 Vue 和 React 项目中,.gitignore 文件帮助开发者确保只有必要的文件和目录被提交到仓库,同时排除那些不应该或不需要跟踪的文件。主要用来提交和保护项目的。

4. 总结

以上就是有关一个通过Vite搭建的Vue or React项目的全部你需要知道的细节啦,喜欢的观众老爷点个赞再走吧