交流QQ群:555913397
有什么问题可以加群大家一起交流
npm init vite@latest
√ Project name: ... DontStarveWeb
√ Package name: ... -dontstarveweb
√ Select a framework: » Vue
√ Select a variant: » TypeScript
server:{host: '0.0.0.0',port: 8080,open: true
}
添加到 vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'// https://vitejs.dev/config/
export default defineConfig({plugins: [vue()],server:{host: '0.0.0.0',port: 8080,open: true
}
})
yarn add @types/node --save-dev
resolve: {alias: [{find: '@',replacement: resolve(__dirname, 'src')}]}
添加到 vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from "path";// https://vitejs.dev/config/
export default defineConfig({plugins: [vue()],server: {host: '0.0.0.0',port: 8080,open: true},resolve: {alias: [{find: '@',replacement: resolve(__dirname, 'src')}]}
})
安装router
yarn add vue-router
新建router文件夹,文件里新建index.ts
import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'const routes: Array = [{path: '/',name: 'home',component: () => import('@/components/HelloWorld.vue')}
]const router = createRouter({history: createWebHashHistory(),routes
})export default router
main.ts
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import router from './router/index'createApp(App).use(router).mount('#app')
安装pinia
yarn add pinia
安装pinia数据持久化插件
yarn add pinia-plugin-persistedstate
创建pinia文件
新建store文件夹,文件里新建index.ts
import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'const pinia = createPinia()
pinia.use(piniaPluginPersistedstate)export default pinia
"baseUrl":".","paths":{"@/*":["scr/*"]},
添加到 tsconfig.json
{"compilerOptions": {"target": "esnext","useDefineForClassFields": true,"module": "esnext","moduleResolution": "node","removeComments": false,"strict": true,"jsx": "preserve","sourceMap": false,"resolveJsonModule": true,"esModuleInterop": true,"lib": ["esnext", "dom"],"baseUrl": "./","paths": {"/@/*": ["src/*"]},"types": ["element-plus/global"]},"exclude": ["node_modules"]
}
如果打包报错 vue-tsc --noEmit ^^ viete build
添加以下选项 忽略所有的声明文件(*.d.ts)的类型检查
"skipLibCheck":true
ts排除 node_modules
"exclude":["node_modules"]
yarn add eslint eslint-plugin-vue
新建.eslintrc.js文件
module.exports = {root: true,parserOptions: {sourceType: 'module'},parser: 'vue-eslint-parser',extends: ['plugin:vue/vue3-essential','plugin:vue/vue3-strongly-recommended','plugin:vue/vue3-recommended'],env: {browser: true,node: true,es6: true},rules: {'no-console': 'off','comma-dangle': [2, 'never'] //禁止使用拖尾逗号}
}
yarn add sass sass-loader
yarn add element-plus
main.ts引入
import { createApp } from 'vue'
import '@/style.css'
import App from '@/App.vue'
import router from '@/router/index'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'createApp(App).use(router).use(ElementPlus).mount('#app')
yarn add @element-plus/icons
main.ts引入
import { createApp } from 'vue'
import '@/style.css'
import App from '@/App.vue'
import router from '@/router/index'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import * as Icons from '@element-plus/icons'
import { appendFile } from 'fs'const app = createApp(App).use(router).use(ElementPlus)
// 循环注册所有图标
for (const name in Icons) {//name 为icon名称,也是组件名称。使用时: ,//也可以按需增加前缀或者后缀// eg: app.component(`eurake-name-${name}`,(Icons as any)[name])// 使用时: // 当然你也可以写一个方法把首字母大写的图标名称改成小写等你想要的任意格式app.component(name, (Icons as any)[name])
}
app.mount('#app')
上一篇:“明明在自己家,却感觉像是外国人!”多国居民不堪过度旅游大劝游客“回家吧” 感觉自己在家像个外人是什么原因 在自己家总觉得像个外人
下一篇:半场-利物浦1-0总比分1-3亚特兰大 阿诺德造点萨拉赫点射 利物浦2比1逆转纽卡阿诺德 利物浦6-1利兹阿诺德