使用 NPM:npm init vite@latest
使用 Yarn:yarn create vite
创建项目名字

选择模板

选择js还是ts

cd vite-test
npm install
npm run dev
npm install vue-router@4 -S
import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
const routes: Array<RouteRecordRaw> = [
{
path: '/',
component: () => import('../components/HelloWorld.vue')
}
]
const router = createRouter({
// createWebHashHistory hash 路由
// createWebHistory history 路由
// createMemoryHistory 带缓存 history 路由
history: createWebHistory(),
routes
})
export default router
<template>
<router-view />
template>
<style scoped>
style>
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
createApp(App).use(router).mount('#app')
安装
npm install vuex@next -S
src目录下新建store/index.ts并编写一下代码
import { createStore } from 'vuex'
const store = createStore({
state: {
userInfo: {
name:'myName'
}
},
mutations: {
getUserInfo (state:any, name:string|number) {
state.userInfo.name = name
}
},
actions: {
asyncGetUserInfo (context:any) {
setTimeout(() => {
context.commit("getUserInfo", +new Date() + 'action')
},2000)
}
},
getters: {
userInfoGetter (state:any) {
return state.userInfo.name
}
}
})
export default store;
然后修改main.ts文件为:
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from "./store";
createApp(App).use(router).use(store).mount('#app')
npm run sass --save-dev
<style lang="scss" scoped>
div {
color: red;
span {
font-size: 60px;
}
}
style>