1.0 使用Vite创建Vue3项目
[toc]
总目录
- 使用Vite2.x VuePress2.x搭建项目与官网
- 组件
Switch
组件Button
组件Dialog
组件Tabs
- 完善官网
- 发布代码到npm
技术栈
Vite 2.x
Vue 3.x
Vuex 4.x
Vue Router 4
typescript 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/node
yarn 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
|
|