创建项目
yarn create vite
"compilerOptions": {
"strict": false,
"sourceMap": true,
"resolveJsonModule": true,
//配置项目打包默认根路径
"baseUrl": "/",
// 配置路径别名
"paths": {
"@/*": [
"./src/*"
]
}
},
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
},
优化配置
功能模块
yarn add unplugin-vue-components unplugin-auto-import unplugin-icons @iconify/json -D
https://icones.netlify.app/
https://icon-sets.iconify.design/
ts.config.json
{
"compilerOptions": {
"target": "esnext",
"useDefineForClassFields": true,
"module": "esnext",
"moduleResolution": "node",
"strict": false,
"jsx": "preserve",
"sourceMap": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"lib": ["esnext", "dom"],
"baseUrl": ".",
"paths": {
"@/**": ["src/**"]
}
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
"references": [{ "path": "./tsconfig.node.json" }]
}
vite.config.ts
import { resolve } from "path";
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/vite";
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
export default defineConfig({
server: {
port: 9090,
},
resolve: {
alias: [
{
find: "@",
replacement: resolve(__dirname, "src"),
},
],
},
plugins: [
vue(),
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({ resolvers: [ElementPlusResolver()] }),
],
});