本文将详细介绍初始化前端项目的全过程,从搭建到项目结构介绍,内容专业详实。建议边读边实践,有点干备好水,让我们开始这段充实的技术之旅吧。
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项目的全部你需要知道的细节啦,喜欢的观众老爷点个赞再走吧