IT评测·应用市场-qidao123.com

标题: 【Vue.js】 [打印本页]

作者: 何小豆儿在此    时间: 2025-3-15 14:09
标题: 【Vue.js】
一、简介

1、概述

   
  Vue 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模子,帮助你高效地开辟用户界面。
Vue.js作为一个渐进式框架,其设计理念是“自底向上”的增量开辟。这意味着开辟者可以从一个简单的视图层开始,逐步添加更多的功能和模块,终极构建一个完备的前端应用。其核心思想是让开辟者可以或许根据项目的现实需求,机动地选择和组合各种功能模块,从而提高开辟效率和代码质量。
Vue的渐进式框架设计理念使得它在机动性、模块化和逐步引入方面表现优异。这种设计不仅可以满足从小型项目到大型应用的各种需求,还能与现有的技能栈无缝集成。
2、Vue语法基础

(1)Vue语法基础教程

(2)一些明白不太透彻的概念

(3)相关基础教程

3、Vue2 & Vue3

Vue 2和Vue 3是两个差别版本的Vue.js框架,它们之间存在多方面的区别。以下是对Vue 2和Vue 3主要区别的详细分析:

综上所述,Vue 3在性能优化、API设计、TypeScript支持、全局API与插件、组件特性与内置功能以及状态管理与路由等方面都进行了显著的改进和提升。这些改进使得Vue 3更加机动、强大,实用于各种规模和复杂度的应用开辟。
4、常用 Vue 生态


二、快速入门


三、 项目结构

以下是一个典范的 Vue.js 项目目录结构分析(基于 create-vue 创建的项目):
  1. my-vue-app/
  2. ├── node_modules/         # 项目依赖包(安装后生成)
  3. ├── public/               # 静态资源目录(直接复制到构建结果中)
  4. │   └── vite.svg          # Vite 示例图标
  5. ├── src/                  # 项目源码目录
  6. │   ├── assets/           # 资源文件(如图片、CSS、字体等)
  7. │   │   └── vue.svg       # Vue 示例图标
  8. │   ├── components/       # 可复用 Vue 组件
  9. │   │   └── Hello.vue
  10. │   ├── router/                 # 路由配置(使用 Vue Router 时)
  11. │   │   └── index.ts
  12. │   ├── store/                  # Vuex 状态管理(使用 Vuex 时)
  13. │   │   └── index.ts
  14. │   ├── views/                  # 页面级组件
  15. │   │   └── Home.vue
  16. │   ├── App.vue           # 根组件(项目入口组件)
  17. │   └── main.ts           # 应用入口文件(初始化 Vue 实例)
  18. ├── .gitignore            # Git 忽略规则(默认排除 node_modules/ 等)
  19. ├── index.html            # 主 HTML 文件(Vite 入口)
  20. ├── package.json          # 项目配置(依赖、脚本命令等)
  21. ├── vite.config.ts        # Vite 配置文件(已集成 Vue 插件)
  22. └── README.md             # 项目说明文档
  23. ├── .browserslistrc     # 浏览器兼容配置
  24. ├── .editorconfig                 # 代码风格配置
  25. ├── .env                                 # 环境变量配置
  26. ├── .eslintrc.js        # ESLint配置
  27. ├── .gitattributes                # Git文件管理配置
  28. ├── .gitignore                # Git 忽略配置
  29. ├── env.d.ts                         # 定义全局类型声明
  30. ├── babel.config.js           # Babel 配置
  31. ├── yarn.lock                   # 记录通过yarn命令下载到 node_modules 目录下的每一个包的下载信息
  32. ├── package-lock.json   # 记录通过npm 命令下载到 node_modules 目录下的每一个包的下载信息
复制代码
1、package.json

package.json 用来记录与项目有关的一些设置信息。
  1. {
  2.   "name": "code",                   // 项目名称
  3.   "version": "1.0.0",                // 项目版本号
  4.   "description": "",                   // 项目描述
  5.   "main": "index.js",             // 包的入口文件
  6.   "scripts": {}                                // 脚本
  7.   "author": "",                                // 作者
  8.   "keywords": [],                    // 关键字
  9.   "license": "ISC",                  // 开源许可协议
  10.   "devDependencies": {},         // 开发依赖包
  11.   "dependencies": {}                // 核心依赖包
  12. }
复制代码
dependencies & devDependencies

判定一个包是否在项目上线后会不会用到:https://www.npmjs.com/包名#install
2、vite.config.js & vue.config.js


vite.config.js文件允许你自定义Vite项目的开辟和打包过程,包括:

3、node_modules & package-lock.json & yarn.lock

创建项目后,通常需要拉取依赖,会创建 node_modules 文件夹用于存放项目依赖包。导入第三方包时,就是从这个目录中查找并加载包。
用差别命令拉取依赖会生成差别的 lock文件,如 npm i 生成 package-lock.json,yarn生成 yarn.lock。lock 设置文件用来记录 node_modules 目录下的每一个包的下载信息,比方包的名字、版本号、下载地址等。
程序员不要手动修改 node_modules 或 lock设置文件中的任何代码,包管理工具会自动维护它们。
多个第三方包体积较大,在协作开辟时,一般不将第三方包上传至代码仓库。即将 node_modulus 文件夹,添加到 .gitignore 忽略文件中。
当我们拉代码时,需实行 npm install 来一次性安装所有的包。npm install 会先读取 package.json 中的 dependencies 节点,读取到新记录的所有依赖包名称和版本号之后,npm包管理工具把所有包安装。
公司项目有的时间会有自己开辟的包,这类包一般存放在公司自己建的镜像仓库,以是在实行 npm install 前,需要修改镜像源。
项目包 & 全局包:

只有工具性质的包,才有全局安装的须要性。由于它们提供了好用的终端命令。
4、env.d.ts

end.d.ts文件作用:

文件内容模版:
  1. /// <reference types="vite/client" />
  2. /// <reference types="vite-env" />
  3. interface ImportMetaEnv {
  4.   VITE_APP_TITLE: string;
  5.   // more environment variables...
  6. }
  7. interface ImportMeta {
  8.   readonly env: ImportMetaEnv;
  9. }
复制代码
上面的代码中,/// <reference types="vite/client" /> 和 /// <reference types="vite-env" /> 是告诉 TypeScript 编译器引入 vite/client 和 vite-env 的范例声明。这有助于在开辟过程中获得更好的范例查抄和智能提示。
然而,假如你将 /// <reference /> 注释掉,并且你的程序依然可以或许正常实行,那大概是由于你的代码并没有直接使用到这些范例声明,大概你的编辑器/IDE 仍旧可以或许通过其他方式(好比 node_modules 中的范例声明文件)获取到相应的范例信息。但这并不意味着 /// <reference /> 指令本身没有作用,它对于确保范例安全和代码可维护性是很重要的。
需要留意的是,env.d.ts 文件本身并不包罗现实的情况变量值,它只是定义了这些变量的范例。现实的情况变量值通常会在构建或运行时通过设置文件、命令行参数或其他方式注入到项目中。
5、.env

.env 文件是用于存储情况变量的设置文件,允许开辟者根据差别的运行情况(如开辟、测试、生产等)来设置差别的设置信息。
命名规则

留意事项:

6、babel.config.js

Babel是一个广泛使用的JavaScript编译器,它的主要作用是将使用ES6+语法编写的代码转换为向后兼容的ES5语法,以便在不支持新语法和特性的旧版浏览器或情况中运行。
babel.config.js 文件是Babel的设置文件,定义了Babel在转换代码时应遵照的规则和使用的插件。这些规则和插件决定了代码转换的方式,比方哪些ES6+特性需要被转换,以及如何使用特定的语法或功能。
babel.config.js文件通常包罗presets(预设)和plugins(插件)的设置。

在Vue CLI创建的项目中,babel.config.js文件通常已经存在,并且预设置了Vue CLI所需的Babel设置:
  1. module.exports = {
  2.   presets: [
  3.     '@vue/cli-plugin-babel/preset',
  4.   ],
  5. };
复制代码
babel.config.js文件与Webpack的关系:

7、.browserslistrc

.browserslistrc 文件是用于设置兼容浏览器的。这个文件通常是在使用脚手架(如Vue CLI)搭建项目时自动生成的。
.browserslistrc 文件中的设置参数决定了你的项目代码需要兼容哪些浏览器。这些设置参数会被一些工具(如Babel、Autoprefixer等)用来确定需要转译的JavaScript特性和需要添加的CSS浏览器前缀。
  1. > 1%
  2. last 2 versions
  3. not dead
复制代码

8、.editorconfig

.editorconfig 文件是用于定义和维护跨编辑器(或IDE)的统一代码风格的设置文件。
为了使 .editorconfig 文件见效,需要在编辑器中安装对应的插件。比方,在 VS Code 中需要安装 EditorConfig for VS Code 插件。
  1. [*.{js,jsx,ts,tsx,vue}]                                // 文件类型选择器,它指定了以下规则将应用于扩展名为 .js、.jsx、.ts、.tsx 和 .vue 的文件
  2. indent_style = space                                // 缩进将使用空格而不是制表符(tab)
  3. indent_size = 2                                                // 每个缩进级别将使用 2 个空格
  4. end_of_line = lf                                        // 文件使用 Unix 风格的换行符(LF,即 \n)
  5. trim_trailing_whitespace = true                // 在保存文件时,将自动删除每行末尾的多余空白字符。
  6. insert_final_newline = true                        // 在文件的最后一个字符之后将自动插入一个新行(即文件将以一个空行结束)。
  7. max_line_length = 100                                // 指定代码行的最大长度不应超过 100 个字符。虽然这不是一个强制性的规则(某些编辑器或工具可能不会直接阻止超过此长度的行),但它作为一个指导原则,有助于保持代码的可读性和整洁性。
复制代码
9、.eslintrc.js

ESLint(一个流行的JavaScript代码查抄工具)来查抄代码质量。ESLint可以帮助你识别和修复代码中的潜在题目,如语法错误、未声明的变量、不规范的代码风格等。
.eslintrc.js 文件是ESLint的设置文件,用于定义ESLint在查抄Vue项目中的JavaScript或Vue文件时应遵照的规则和插件。
设置示例
  1. module.exports = {
  2.   root: true,
  3.   env: {
  4.     node: true, // 指定代码运行的环境,这里选择了Node.js环境
  5.     browser: true, // 如果你的代码在浏览器中运行,也需要添加这一行
  6.     es2021: true // 启用ES2021语法
  7.   },
  8.   extends: [
  9.     'plugin:vue/essential', // Vue官方推荐的基本规则
  10.     'eslint:recommended' // 官方推荐的ESLint规则
  11.   ],
  12.   parserOptions: {
  13.     parser: 'babel-eslint', // 指定解析器及其选项,这里选择了babel-eslint
  14.     ecmaVersion: 2021, // 指定ECMAScript版本
  15.     sourceType: 'module' // 指定源代码类型(如模块)
  16.   },
  17.   plugins: [
  18.     'vue' // 引入vue插件
  19.   ],
  20.   rules: {     // 在这里添加自定义的规则
  21.     //'semi': ['error', 'never'],//分行检测:不需要分号
  22.     //'index': ['warn', 2],//缩进检测:两行缩进,非两行进行警告
  23.     //'quotes': ['error', 'double'],//引号检测:双引号
  24.     'arrow-body-style': ['off'], //箭头函数中,如果函数体里只有一句代码时允许不省略大括号
  25.     'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', // 根据环境变量控制console的使用
  26.     'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', // 根据环境变量控制debugger的使用
  27.     'vue/no-unused-vars': 'warn' // 警告Vue文件中的未使用变量
  28.   }
  29. };
复制代码
可以通过运行npx eslint --init命令来自动生成一个设置文件。这个命令会引导你通过一系列题目来设置ESLint,包括选择你想要的设置风格(如Airbnb、Standard等)、你的代码是否运行在浏览器或Node.js情况中、是否使用TypeScript等。
安装 ESLint
  1. # 安装ESLint以及相关插件
  2. # vue add eslint
  3. # npm install eslint eslint-plugin-vue --save-dev
  4. yarn add eslint eslint-plugin-vue --dev
复制代码
在代码中使用ESLint:

10、.gitattributes

.gitattributes 文件主要用于定义Git仓库中差别文件的属性,以帮助Git更好地管理这些文件。以下是 .gitattributes 文件在Vue项目中的一些主要用途:

  1. /.yarn/**            linguist-vendored
  2. /.yarn/releases/*    binary
  3. /.yarn/plugins/**/*  binary
  4. /.pnp.*              binary linguist-generated
复制代码

11、.gitignore

.gitignore 文件的主要作用是告诉Git哪些文件或目录不应该被纳入版本控制中。通过编辑 .gitignore 文件,开辟者可以指定一些不需要被跟踪的文件范例,如暂时文件、编译产物、日志文件、依赖包目录等,以保持代码仓库的整洁和高效。
详细来说,.gitignore 文件在Vue项目中的用途包括以下几个方面:

12、.yarn文件夹、.yarnrc.yml 和 yarn.lock 文件

假如使用 yarn包管理器,项目根目录下还有.yarn文件夹、.yarnrc.yml 和 yarn.lock 文件。

四、插件

1、什么是插件

插件 (Plugins) 是一种能为 Vue 添加全局功能的工具代码。

2、插件推荐

2.1 unplugin-vue-define-options

主要功能是在Vue 3的单文件组件(SFC)中提供一种更简洁的方式来定义组件的选项,如组件的name属性、inheritAttrs等。
这个插件特别实用于使用<script setup>语法的Vue 3组件。
2.2 vite-plugin-vue-setup-extend

vite-plugin-vue-setup-extend 插件是一个用于加强Vue 3在Vite项目中使用<script setup>语法的插件
主要功能:

使用方式:

3、Visual Studio Code 拓展推荐

3.1 vue-official

在VSCode(Visual Studio Code)中,vue-official插件(原名Volar,现已成为Vue官方推荐的VSCode扩展)主要是为Vue.js开辟者提供一系列加强开辟体验和效率的功能。以下是该插件的主要功能和用途:

二十、资料



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4