refactor: 采用Vuetify组件库

This commit is contained in:
hello8693 2024-08-04 16:15:08 +08:00
parent 1202cbef2b
commit bff4cf9c25
4 changed files with 521 additions and 454 deletions

View File

@ -3,11 +3,12 @@ import { defineConfig, externalizeDepsPlugin } from 'electron-vite';
// Plugins // Plugins
import AutoImport from 'unplugin-auto-import/vite'; import AutoImport from 'unplugin-auto-import/vite';
import Components from 'unplugin-vue-components/vite'; import Components from 'unplugin-vue-components/vite';
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' import { DevUiResolver } from 'unplugin-vue-components/resolvers';
import Fonts from 'unplugin-fonts/vite'; import Fonts from 'unplugin-fonts/vite';
import Layouts from 'vite-plugin-vue-layouts'; import Layouts from 'vite-plugin-vue-layouts';
import Vue from '@vitejs/plugin-vue'; import Vue from '@vitejs/plugin-vue';
import VueRouter from 'unplugin-vue-router/vite'; import VueRouter from 'unplugin-vue-router/vite';
import Vuetify, { transformAssetUrls } from 'vite-plugin-vuetify';
// import rawLoader from 'raw-loader' // import rawLoader from 'raw-loader'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'; import { createSvgIconsPlugin } from 'vite-plugin-svg-icons';
@ -42,11 +43,19 @@ export default defineConfig({
] ]
}), }),
Layouts(), Layouts(),
Vue(), Vue({
template: { transformAssetUrls }
}),
// https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme // https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme
Vuetify({
autoImport: true,
styles: {
configFile: 'src/styles/settings.scss'
}
}),
Components({ Components({
dts: 'src/components.d.ts', dts: 'src/components.d.ts',
resolvers: [ElementPlusResolver()], resolvers: [DevUiResolver()]
}), }),
Fonts({ Fonts({
google: { google: {
@ -69,8 +78,7 @@ export default defineConfig({
eslintrc: { eslintrc: {
enabled: true enabled: true
}, },
vueTemplate: true, vueTemplate: true
resolvers: [ElementPlusResolver()],
}), }),
createSvgIconsPlugin({ createSvgIconsPlugin({
// Specify the icon folder to be cached // Specify the icon folder to be cached

View File

@ -27,9 +27,9 @@
"dependencies": { "dependencies": {
"@electron-toolkit/preload": "^3.0.0", "@electron-toolkit/preload": "^3.0.0",
"@electron-toolkit/utils": "^3.0.0", "@electron-toolkit/utils": "^3.0.0",
"@sentry/vue": "^8.20.0",
"core-js": "^3.34.0", "core-js": "^3.34.0",
"date-fns": "^3.6.0", "date-fns": "^3.6.0",
"element-plus": "^2.7.7",
"github-markdown-css": "^5.5.1", "github-markdown-css": "^5.5.1",
"moment": "^2.30.1", "moment": "^2.30.1",
"roboto-fontface": "*", "roboto-fontface": "*",
@ -37,18 +37,20 @@
"vite-plugin-svg-icons": "^2.0.1", "vite-plugin-svg-icons": "^2.0.1",
"vite-plugin-vue-layouts": "^0.11.0", "vite-plugin-vue-layouts": "^0.11.0",
"vue": "^3.4.34", "vue": "^3.4.34",
"vue-showdown": "^4.2.0" "vue-showdown": "^4.2.0",
"vuetify": "^3.5.8",
"@mdi/font": "7.0.96"
}, },
"devDependencies": { "devDependencies": {
"@commitlint/config-conventional": "^19.2.2", "@commitlint/config-conventional": "^19.2.2",
"@electron-toolkit/eslint-config": "^1.0.1", "@electron-toolkit/eslint-config": "^1.0.1",
"@electron-toolkit/eslint-config-ts": "^1.0.1", "@electron-toolkit/eslint-config-ts": "^1.0.1",
"@electron-toolkit/tsconfig": "^1.0.1", "@electron-toolkit/tsconfig": "^1.0.1",
"@mdi/font": "7.0.96",
"@rushstack/eslint-patch": "^1.6.1", "@rushstack/eslint-patch": "^1.6.1",
"@types/vue": "^2.0.0", "@types/vue": "^2.0.0",
"@vitejs/plugin-vue": "^5.0.3", "@vitejs/plugin-vue": "^5.0.3",
"@vue/eslint-config-prettier": "^9.0.0", "@vue/eslint-config-prettier": "^9.0.0",
"@vue/eslint-config-typescript": "^13.0.0",
"commitlint": "^19.3.0", "commitlint": "^19.3.0",
"core-js": "^3.34.0", "core-js": "^3.34.0",
"electron": "^28.2.0", "electron": "^28.2.0",
@ -70,7 +72,9 @@
"vite-plugin-optimizer": "^1.4.3", "vite-plugin-optimizer": "^1.4.3",
"vite-plugin-svg-icons": "^2.0.1", "vite-plugin-svg-icons": "^2.0.1",
"vite-plugin-vue-layouts": "^0.11.0", "vite-plugin-vue-layouts": "^0.11.0",
"vite-plugin-vuetify": "^2.0.3",
"vue-router": "^4.3.0", "vue-router": "^4.3.0",
"vue-tsc": "^1.8.27" "vue-tsc": "^1.8.27"
} },
"packageManager": "yarn@1.22.21+sha1.1959a18351b811cdeedbd484a8f86c3cc3bbaf72"
} }

View File

@ -0,0 +1,19 @@
/**
* plugins/vuetify.js
*
* Framework documentation: https://vuetifyjs.com`
*/
// Styles
import '@mdi/font/css/materialdesignicons.css';
import 'vuetify/styles';
// Composables
import { createVuetify } from 'vuetify';
// https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides
export default createVuetify({
theme: {
defaultTheme: 'dark'
}
});

926
yarn.lock

File diff suppressed because it is too large Load Diff