vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
const pathResolve = (dir: string): any => resolve(__dirname, '.', dir)
export default defineConfig({
resolve: {
alias: [
{
find: "@/",
replacement: pathResolve('src') + '/',
},
],
},
plugins: [vue()],
css: {
preprocessorOptions: {
scss: { additionalData: `@import "${pathResolve("src")}/assets/scss/variables.scss";` },
less: {
javascriptEnabled: true,
additionalData: `@import "${pathResolve('src')}/assets/less/variables.less";`
}
},
},
})
tsconfig.json
{
"compilerOptions": {
"target": "esnext",
"useDefineForClassFields": true,
"module": "esnext",
"moduleResolution": "node",
"strict": true,
"jsx": "preserve",
"sourceMap": true,
"resolveJsonModule": true,
"isolatedModules": true,
"esModuleInterop": true,
"lib": ["esnext", "dom"],
"skipLibCheck": true,
"allowJs": false,
"baseUrl": "./",
"paths": {
"@/*": ["src/*"],
},
},
"include": [
"src/**/*.ts",
"src/**/*.d.ts",
"src/**/*.tsx",
"src/**/*.vue",
],
"references": [{ "path": "./tsconfig.node.json" }]
}
tsconfig.node.json
{
"compileroptions": {
"composite": true,
"module": "esnext",
"moduleresolution": "node",
},
"include": ["vite.config.ts"]
}
.vscode/settings.json
{
"editor.detectIndentation": false,
"editor.tabSize": 2,
"editor.formatOnSave": true,
"javascript.format.insertSpaceBeforeFunctionParenthesis": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true,
"eslint.autoFixOnSave": true
},
"eslint.format.enable": true,
"eslint.validate": [
"javascript",
"vue"
],
"diffEditor.ignoreTrimWhitespace": true,
"editor.formatOnType": true,
// "files.autoSave": "onFocusChange",
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
"editor.suggest.snippetsPreventQuickSuggestions": false,
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features"
},
"js/ts.implicitProjectConfig.checkJs": true,
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
}