1.0 使用Vite创建Vue3项目
[toc]
总目录
- 使用Vite2.x VuePress2.x搭建项目与官网
- 组件
Switch组件Button组件Dialog组件Tabs
- 完善官网
- 发布代码到npm
技术栈
Vite 2.xVue 3.xVuex 4.xVue Router 4typescript 4.x
开发环境搭建
Windows
- 安装 Node.js 稳定版
- 进入
https://nodejs.org/zh-cn/点击左边的下载按钮即可,下载后将Node.js安装到D:\node或者C:\node然后一路点击「下一步」即可安装
- 进入
- 安装 npm
- 不需要安装,
Node.js自带 npm
- 不需要安装,
- npm 下载加速
- 在命令行中运行
npm config set registry https://registry.npm.taobao.org回车即可
- 在命令行中运行
- 安装 yarn
- 进入
https://classic.yarnpkg.com/zh-Hans/往下滚,点击「下载安装程序」,下载后将 yarn 安装到 D:\yarn 或者 C:\yarn 然后一路点击「下一步」即可安装
- 进入
- 安装 VSCode
- 进入
https://code.visualstudio.com/点击 Download 按钮,下载后安装在任意位置即可。
- 进入
Mac 软件安装
- 如果你已经安装了 Node.js,且不是通过 homebrew 安装的,请先卸载掉 Node.js
- 安装 Homebrew 按照这篇教程 安装
- 安装 Node.js
- 在终端运行
brew install node即可,安装完后,根据提示运行其他命令,如果看不懂提示就不要管它。
- 在终端运行
- npm 下载加速
- 在命令行中运行
npm config set registry https://registry.npm.taobao.org回车即可
- 在命令行中运行
- 安装 Yarn
- 在终端运行 brew install yarn 即可。
- 安装 VSCode
- 进入
https://code.visualstudio.com/点击下载按钮即可
- 进入
Volar - Vue 终极开发神器!
自动安装并直接创建项目vite2.x
- 任意目录下在终端运行
|
|
|
|
- 注意
vite1.x:yarn global add create-vite-app@1.21.0已弃用yarn create @vitejs/app已弃用
安装完毕后的提示输入项目名称
|
|
- 输入自定义的项目名
提示选择框架
|
|
- 选择第二项
vue
提示选择编译版本
|
|
- 选择第二项
vue-ts
提示已成功创建项目文件
|
|
- 按提示进入项目文件夹
cd xxx - 安装依赖
yarn或yarn install - 运行本地服务
yarn dev - 按提示访问本地服务器
Local: http://localhost:3000/ - 运行局域网服务器
yarn dev --host
全局安装与单独另外创建项目
|
|
- Vite 官网文档给出的命令
yarn create vite-app <project-name>npm init vite-app <project-name>
- 等效于 全局安装
yarn global add vite@2.5.6后使用命令,创建项目create-app <project-name>- 简写为:
cva <project-name>
- 等效于
npx create-app <project-name>npx自动寻找全局安装用到的包
查看版本号
|
|
如果提示找不到命令,需要将 yarn/bin 目录添加到 系统 path 里
- 运行
yarn global bin - 将得到的目录添加到 path 里
项目文件结构与文件用途
|
|
index.html项目首页
- 容器节点
<div id="app"></div> - 脚本引用
<script type="module" src="/src/main.ts"></script>type="module"src="/src/main.ts"
main.ts
|
|
- 引入创建实例的方法
import { createApp } from 'vue' - 引入组件
import App from './App.vue' - 引入样式文件
import './index.css' - 创建实例
createApp(App).mount('#app')- 接受组件
App - 挂载到容器节点
<div id="app"></div>上
- 接受组件
App.vue
|
|
Vue 3 <script setup> SFCs单文件组件封装setup函数 标签<template>支持根节点下多个标签
VSCode可以安装Vue 3 Snippets
运行并添加修改组件
添加组件
src/components/NewVue.vue
|
|
引入
App.vue
|
|
- 运行
yarn dev
Vue 2和Vue 3的区别小结
Vue 3的<template>标签支持多个根标签,Vue 2组件内只支持唯一的根标签Vue 3创建实例方法createApp(),Vue 2为new Vue()Vue 3创建实例方法的参数为一个组件createApp(组件),Vue 2为选项对象new Vue({template, render, ...})
提交代码
初始化
VSCode点击git图标>初始化项目- 查看
.gitignore添加需要排除的目录,比如.vscode - 在输入框写提交说明:
初始化项目,点击勾号 webStorm类似
引入Vue Router 4
将组件映射到路由上,让 Vue Router 知道在哪里渲染它们
- 和
Vue 3.x配套使用的路由器管理模块,用于页面切换 Vue Router官网
使用命令行查看 vue-router包 所有版本号
|
|
安装正式版vue-router@4.0.11
|
|
初始化vue-router
- 创建
history对象实例 - 创建
router对象实例 - 使用
app.use(router)
先尝试导入
import {createWebHashHistory} from 'vue-router';到main.ts中, 创建history实例
- 输入
history时的代码提示createMemoryHistory对应内存型路由createWebHashHistory对应Hash型路由createWebHistory对应History型路由
|
|
- 使用
createWebHashHistory()方法,创建history实例
创建
router实例
- 引入
createRouter()方法
|
|
- 由于
main.ts会进行类型检查,此时IDE对代码警告const router = createRouter();方法中必须传递一个参数(选项对象)- 按住
Ctrl点击createRouter(),跳转查看此方法的实现export declare function createRouter(options: RouterOptions): Router; - 继续按住
Ctrl点击options: RouterOptions,跳转查看RouterOptions的实现export declare interface RouterOptions extends PathParserOptions {...} {...}其中就有{history: RouterHistory; routes:...}
|
|
- 路由列表
routes: [...] - 添加默认路由
{path: '/', component: NewVue} - 属性名自动纠错:拼写是
routes表示路由对象的集合 - 根据代码提示自动导入组件:根据
component: NewVue导入import NewVue from './components/NewVue.vue';
使
main.ts识别*.vue文件
- 原先需要自行添加
shims.vue.d.ts - 现在文件目录中默认生成的
env.d.ts文件就起到了识别作用
|
|
- 如果没有此文件的话,会出现
找不到模块 xxx.vue - 出现的原因就是
TypeScript只能理解.ts文件,无法理解.vue文件 - 原先的解决办法可搜
Vue 3 can not find module - 一个可行的方案时创建
xxx.d.ts,告诉TS如何识别.vue文件
使用
app.use(router)
- 挂载前使用
.use()接口
|
|
在页面中使用vue-router的链接和展示标签
- 添加
<router-view></router-view>展示标签 - 添加
<router-link></router-link>链接标签 - 添加一个组件
Home.vue,和添加路由规则{path: '/xxx', component: Home},
App.vue
|
|
小结
- 初始化 vue-router
- 创建
history对象实例 - 创建
router对象实例 TypeScript识别*.vue文件- 使用
app.use(router) - 添加
<router-view></router-view> - 添加
<router-link></router-link>
- 创建
配置路径别名@
使Vite启动服务时识别别名,正确运行
vite.config.ts
|
|
const path = require('path');提示报错,按提示安装@types/nodeyarn add -D @types/node
也可以使用
find
|
|
页面使用
|
|
- 坑:引用.vue文件的时候记得写全后缀
可以去除
@前面的斜杠
|
|
|
|
参考
- 如何在vite2中设置路径别名
- Vite 官网 别名用法变化
- vite2配置,搭建vue3+ts项目,vite中文文档
- vue3踩坑记
- NPM @rollup/plugin-alias
- rollup.js
使IDE webStorm识别别名,按住ctrl点击路径后正确跳转
搜索
webstorm vite alias @
- 搜到
How to setup PhpStorm / WebStorm to work with Vite aliases?webstorm识别vite别名路径方法 - 在项目根目录下的
tsconfig.json,或者jsconfig.json中添加如下代码,(没有这两个文件就新建一个)
|
|
使用CSS预处理SCSS
安装
SCSS
|
|