# vue3Study **Repository Path**: yuleigg/vue3-study ## Basic Information - **Project Name**: vue3Study - **Description**: Vue3教学代码仓库 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-15 - **Last Updated**: 2023-11-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # vue3项目搭建 ## 1.包管理器 ### **npm包管理工具** - 是 Node.js 的包管理工具 - 全称为 "Node Package Manager" - 修改淘宝源:npm config set registry https://registry.npmmirror.com/ - 安装包:npm i [packg-name] - 删除包:npm remove [packg-name] ### **pnpm包管理工具** - 最新的 Node.js 的包管理工具 - 比yarn更快更强更稳定 - 安装 npm i pnpm -g - 先不用更改源 - 安装包:pnpm install [packg-name] - 删除包:pnpm remove [packg-name] ## 2.构建工具 ### vite工具 vite是下一代前端开发与构建工具。 Vite意在提供开箱即用的配置,同时它的插件[API](https://baike.baidu.com/item/API/10154?fromModule=lemma_inlink)和JavaScript API 带来了高度的[可扩展性](https://baike.baidu.com/item/可扩展性/8669999?fromModule=lemma_inlink),并有完整的类型支持。 官网地址:[Home | Vite中文网 (vitejs.cn)](https://vitejs.cn/) **Vite是Vue的作者尤雨溪开发的Web开发构建工具**,它是一个基于浏览器原生ES模块导入的开发服务器,在开发环境下,利用浏览器去解析import,在服务器端按需编译返回,完全跳过了打包这个概念,服务器随启随用 更适合vue的开发 #### 特点 vite在开发模式下,没有打包的步骤,它利用了浏览器的ES Module Imports特性,只有在真正需要时才编译文件,速度快 webpack由于其丰富的功能和扩展性,适合于大型、复杂的项目 ### webpack工具 vue官网目前推荐的格式 webpack在编译过程中,会将所有模块打包为一个bundle.js文件,然后再运行这个文件,速度更慢。 #### 特点 webpack是一个静态模块打包器,可以把各种资源如JavaScript、CSS、图片等都视为模块,然后将这些模块打包成一份或多份优化的资源 webpack由于其丰富的功能和扩展性,适合于大型、复杂的项目 ## 3.搭建过程 ```js //步骤式创建,按照提示操作即可,注意选择javascript项目 pnpm create vite 或者 pnpm create vite@latest #特别注意,一旦出现创建失败报错,且出现系统目录中断,一般是因为默认用户名称包含了空格,可以重新设置pnpm create使用的缓存目录来解决 pnpm config set cache-folder "F:\node\node_global\yarn_cache" 同时别忘了添加环境变量paths F:\node\node_global 快速创建命令:pnpm create vite 项目名称 --template vue ``` ### pnpm create的方式 1. cmd进去到你想要新建项目的文件夹 2. npm 安装pnpm 命令 npm install pnpm -g 如果出现在xxxxx.ps1的错误,找到这个文件,并且干掉它 3. 输入 pnpm create vite 4. 输入你想要的项目名称 5. 选择vue 6. cd 你输入的项目名称 7. 运行pnpm install 8. 运行pnpm run dev ## 4.项目目录 ![image-20231110145901476](I:\软件工程学院\教学\2023-2024-综合实训课程\第三课vue3项目搭建和生命周期\image-20231110145901476.png) ## 5.package.json 包描述文件 ```js { "name": "vue-demo", //项目名称 "private": true, "version": "0.0.0",//版本号 "type": "module",// "scripts": {//javascript 命令 "dev": "vite --open", "build": "vite build", "preview": "vite preview" }, "dependencies": {//是项目的生产环境中所必须的依赖包 "vue": "^3.3.4" }, "devDependencies": {//开发阶段需要的依赖包 "@vitejs/plugin-vue": "^4.2.3", "vite": "^4.4.5" } } ``` ## 6..gitinore git仓库管理使用的忽略文件配置,一旦在里面配置则不会被git识别和上传到git线上仓库管理 ## 7.项目入口 main.js src文件夹下面的main.js是整个vue项目的入口 ```js import { createApp } from 'vue'//创建一个应用实例。 import './style.css' import App from './App.vue' createApp(App).mount('#app')//创建一个应用实例。 /* createApp(第一个参数,第二个参数) 第一个参数是根组件。第二个参数可选,它是要传递给根组件的 props。 */ //#app 在哪里呢?在跟根路径的index.html里 /* ceateApp(App) 会创建一个应用实例 ceateApp(App).mount('#app') 将应用实例挂载在一个容器元素中。 .mount('#app') 参数可以是一个实际的 DOM 元素或一个 CSS 选择器 (使用第一个匹配到的元素) */ ``` ### 组件名格式 在整个指引中,我们都使用**(大驼峰)** PascalCase 作为组件名的注册格式,这是因为: 1. PascalCase 是合法的 JavaScript 标识符。这使得在 JavaScript 中导入和注册组件都很容易,同时 IDE 也能提供较好的自动补全。 2. `` 在模板中更明显地表明了这是一个 Vue 组件,而不是原生 HTML 元素。 为了方便,Vue 支持将模板中使用 kebab-case 的标签解析为使用 PascalCase 注册的组件。这意味着一个以 `MyComponent` 为名注册的组件,在模板中可以通过 `` 或 `` 引用。这让我们能够使用同样的 JavaScript 组件注册代码来配合不同来源的模板 ## 8.SFC语法定义(组件定义) ### SFC语法就是组件 ​ 一个 Vue 单文件组件 (SFC),通常使用 *.vue 作为文件扩展名,它是一种使用了类似 HTML 语法的自定义文件格式,用于定义 Vue 组件。一个 Vue 单文件组件在语法上是兼容 HTML 的。 - 每一个 *.vue 文件都由三种顶层语言块构成: