提交 cb22edda 作者: 方治民

build: vite 3.x 兼容适配调整

上级 b6753b09
...@@ -14,7 +14,6 @@ import { configStyleImportPlugin } from './styleImport' ...@@ -14,7 +14,6 @@ import { configStyleImportPlugin } from './styleImport'
import { configVisualizerConfig } from './visualizer' import { configVisualizerConfig } from './visualizer'
import { configThemePlugin } from './theme' import { configThemePlugin } from './theme'
import { configSvgIconsPlugin } from './svgSprite' import { configSvgIconsPlugin } from './svgSprite'
import { configOptimizePlugin } from './optimize'
import { configAutoImportPlugin } from './autoImport' import { configAutoImportPlugin } from './autoImport'
export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
...@@ -59,9 +58,6 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { ...@@ -59,9 +58,6 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
// vite-plugin-theme // vite-plugin-theme
vitePlugins.push(configThemePlugin(isBuild)) vitePlugins.push(configThemePlugin(isBuild))
// vite-plugin-optimize-persist
vitePlugins.push(configOptimizePlugin())
// vite-plugin-auto-import // vite-plugin-auto-import
vitePlugins.push(configAutoImportPlugin()) vitePlugins.push(configAutoImportPlugin())
......
/**
* https://github.com/antfu/vite-plugin-optimize-persist
*/
import OptimizationPersist from 'vite-plugin-optimize-persist'
import PkgConfig from 'vite-plugin-package-config'
export function configOptimizePlugin() {
return [
PkgConfig({
packageJsonPath: './vite.optimize.json',
}),
OptimizationPersist(),
]
}
import { createProdMockServer } from 'vite-plugin-mock/es/createProdMockServer' import { createProdMockServer } from 'vite-plugin-mock/es/createProdMockServer'
const modules = import.meta.globEager('./**/*.ts') const modules = import.meta.glob('./**/*.ts', { eager: true })
const mockModules: any[] = [] const mockModules: any[] = []
Object.keys(modules).forEach((key) => { Object.keys(modules).forEach((key) => {
if (key.includes('/_')) { if (key.includes('/_')) {
return return
} }
mockModules.push(...modules[key].default) mockModules.push(...(modules as Recordable)[key].default)
}) })
/** /**
......
...@@ -56,19 +56,19 @@ ...@@ -56,19 +56,19 @@
"@ant-design/colors": "^6.0.0", "@ant-design/colors": "^6.0.0",
"@ant-design/icons-vue": "^6.1.0", "@ant-design/icons-vue": "^6.1.0",
"@iconify/iconify": "^2.2.1", "@iconify/iconify": "^2.2.1",
"@logicflow/core": "^1.1.22", "@logicflow/core": "^1.1.26",
"@logicflow/extension": "^1.1.22", "@logicflow/extension": "^1.1.26",
"@vue/runtime-core": "^3.2.37", "@vue/runtime-core": "^3.2.37",
"@vue/shared": "^3.2.37", "@vue/shared": "^3.2.37",
"@vueuse/core": "^8.9.4", "@vueuse/core": "^8.9.4",
"@vueuse/shared": "^8.9.4", "@vueuse/shared": "^8.9.4",
"@zxcvbn-ts/core": "^2.0.3", "@zxcvbn-ts/core": "^2.0.4",
"ant-design-vue": "^3.2.10", "ant-design-vue": "^3.2.11",
"axios": "^0.26.1", "axios": "^0.26.1",
"codemirror": "^5.65.7", "codemirror": "^5.65.8",
"cropperjs": "^1.5.12", "cropperjs": "^1.5.12",
"crypto-js": "^4.1.1", "crypto-js": "^4.1.1",
"dayjs": "^1.11.4", "dayjs": "^1.11.5",
"echarts": "^5.3.3", "echarts": "^5.3.3",
"intro.js": "^5.1.0", "intro.js": "^5.1.0",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
"nanoid": "^4.0.0", "nanoid": "^4.0.0",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"path-to-regexp": "^6.2.1", "path-to-regexp": "^6.2.1",
"pinia": "^2.0.17", "pinia": "^2.0.21",
"print-js": "^1.6.0", "print-js": "^1.6.0",
"qrcode": "^1.5.1", "qrcode": "^1.5.1",
"qs": "^6.11.0", "qs": "^6.11.0",
...@@ -84,18 +84,18 @@ ...@@ -84,18 +84,18 @@
"showdown": "^2.1.0", "showdown": "^2.1.0",
"sortablejs": "^1.15.0", "sortablejs": "^1.15.0",
"tinymce": "^5.10.5", "tinymce": "^5.10.5",
"vditor": "^3.8.15", "vditor": "^3.8.17",
"vue": "^3.2.37", "vue": "^3.2.37",
"vue-i18n": "^9.2.0", "vue-i18n": "^9.2.2",
"vue-json-pretty": "^2.1.1", "vue-json-pretty": "^2.2.2",
"vue-router": "^4.1.3", "vue-router": "^4.1.5",
"vue-types": "^4.2.1", "vue-types": "^4.2.1",
"xlsx": "^0.18.5" "xlsx": "^0.18.5"
}, },
"devDependencies": { "devDependencies": {
"@commitlint/cli": "^17.0.3", "@commitlint/cli": "^17.1.2",
"@commitlint/config-conventional": "^17.0.3", "@commitlint/config-conventional": "^17.1.0",
"@iconify/json": "^2.1.86", "@iconify/json": "^2.1.100",
"@purge-icons/generated": "^0.8.1", "@purge-icons/generated": "^0.8.1",
"@types/codemirror": "^5.60.5", "@types/codemirror": "^5.60.5",
"@types/crypto-js": "^4.1.1", "@types/crypto-js": "^4.1.1",
...@@ -104,16 +104,16 @@ ...@@ -104,16 +104,16 @@
"@types/intro.js": "^3.0.2", "@types/intro.js": "^3.0.2",
"@types/lodash-es": "^4.17.6", "@types/lodash-es": "^4.17.6",
"@types/mockjs": "^1.0.6", "@types/mockjs": "^1.0.6",
"@types/node": "^18.6.3", "@types/node": "^18.7.14",
"@types/nprogress": "^0.2.0", "@types/nprogress": "^0.2.0",
"@types/qrcode": "^1.4.2", "@types/qrcode": "^1.5.0",
"@types/qs": "^6.9.7", "@types/qs": "^6.9.7",
"@types/showdown": "^1.9.4", "@types/showdown": "^1.9.4",
"@types/sortablejs": "^1.13.0", "@types/sortablejs": "^1.13.0",
"@typescript-eslint/eslint-plugin": "^5.31.0", "@typescript-eslint/eslint-plugin": "^5.36.0",
"@typescript-eslint/parser": "^5.31.0", "@typescript-eslint/parser": "^5.36.0",
"@vitejs/plugin-legacy": "^2.0.0", "@vitejs/plugin-legacy": "^2.0.1",
"@vitejs/plugin-vue": "^3.0.1", "@vitejs/plugin-vue": "^3.0.3",
"@vitejs/plugin-vue-jsx": "^1.3.10", "@vitejs/plugin-vue-jsx": "^1.3.10",
"@vue/compiler-sfc": "3.2.31", "@vue/compiler-sfc": "3.2.31",
"@vue/test-utils": "^2.0.2", "@vue/test-utils": "^2.0.2",
...@@ -123,10 +123,10 @@ ...@@ -123,10 +123,10 @@
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"cz-conventional-changelog": "^3.3.0", "cz-conventional-changelog": "^3.3.0",
"dotenv": "^16.0.1", "dotenv": "^16.0.1",
"eslint": "^8.21.0", "eslint": "^8.23.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.2.1", "eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-vue": "^9.3.0", "eslint-plugin-vue": "^9.4.0",
"esno": "^0.14.1", "esno": "^0.14.1",
"fs-extra": "^10.1.0", "fs-extra": "^10.1.0",
"husky": "^7.0.4", "husky": "^7.0.4",
...@@ -136,31 +136,29 @@ ...@@ -136,31 +136,29 @@
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"picocolors": "^1.0.0", "picocolors": "^1.0.0",
"pont-engine": "^1.3.3", "pont-engine": "^1.3.3",
"postcss": "^8.4.14", "postcss": "^8.4.16",
"postcss-html": "^1.5.0", "postcss-html": "^1.5.0",
"postcss-less": "^6.0.0", "postcss-less": "^6.0.0",
"prettier": "^2.7.1", "prettier": "^2.7.1",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"rollup": "^2.77.2", "rollup": "^2.78.1",
"rollup-plugin-visualizer": "^5.7.1", "rollup-plugin-visualizer": "^5.8.0",
"sort-package-json": "^1.57.0", "sort-package-json": "^1.57.0",
"stylelint": "^14.9.1", "stylelint": "^14.11.0",
"stylelint-config-prettier": "^9.0.3", "stylelint-config-prettier": "^9.0.3",
"stylelint-config-recommended": "^8.0.0", "stylelint-config-recommended": "^8.0.0",
"stylelint-config-recommended-vue": "^1.4.0", "stylelint-config-recommended-vue": "^1.4.0",
"stylelint-config-standard": "^26.0.0", "stylelint-config-standard": "^26.0.0",
"stylelint-order": "^5.0.0", "stylelint-order": "^5.0.0",
"terser": "^5.14.2", "terser": "^5.15.0",
"ts-node": "^10.9.1", "ts-node": "^10.9.1",
"typescript": "^4.7.4", "typescript": "^4.8.2",
"unplugin-auto-import": "^0.10.3", "unplugin-auto-import": "^0.10.3",
"vite": "^3.0.4", "vite": "^3.0.9",
"vite-plugin-compression": "^0.5.1", "vite-plugin-compression": "^0.5.1",
"vite-plugin-html": "^3.2.0", "vite-plugin-html": "^3.2.0",
"vite-plugin-mkcert": "^1.9.0", "vite-plugin-mkcert": "^1.9.0",
"vite-plugin-mock": "^2.9.6", "vite-plugin-mock": "^2.9.6",
"vite-plugin-optimize-persist": "^0.1.2",
"vite-plugin-package-config": "^0.1.1",
"vite-plugin-purge-icons": "^0.8.2", "vite-plugin-purge-icons": "^0.8.2",
"vite-plugin-pwa": "^0.12.3", "vite-plugin-pwa": "^0.12.3",
"vite-plugin-style-import": "^2.0.0", "vite-plugin-style-import": "^2.0.0",
...@@ -169,7 +167,7 @@ ...@@ -169,7 +167,7 @@
"vite-plugin-vue-setup-extend": "^0.4.0", "vite-plugin-vue-setup-extend": "^0.4.0",
"vite-plugin-windicss": "^1.8.7", "vite-plugin-windicss": "^1.8.7",
"vue-eslint-parser": "^9.0.3", "vue-eslint-parser": "^9.0.3",
"vue-tsc": "^0.40.1" "vue-tsc": "^0.40.4"
}, },
"engines": { "engines": {
"node": ">=14" "node": ">=14"
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
}, },
]) ])
const version = `@${getEnvText()}: v${$app.version}` const version = `${getEnvText()}@${$app.version} -> ${$app.lastBuildTime}`
function goHome() { function goHome() {
go(userStore.getUserInfo.homePath || PageEnum.BASE_HOME) go(userStore.getUserInfo.homePath || PageEnum.BASE_HOME)
......
import { genMessage } from '../helper' import { genMessage } from '../helper'
import antdLocale from 'ant-design-vue/es/locale/en_US' import antdLocale from 'ant-design-vue/es/locale/en_US'
const modules = import.meta.globEager('./en/**/*.ts') const modules = import.meta.glob('./en/**/*.ts', { eager: true })
export default { export default {
message: { message: {
...genMessage(modules, 'en'), ...genMessage(modules, 'en'),
......
import { genMessage } from '../helper' import { genMessage } from '../helper'
import antdLocale from 'ant-design-vue/es/locale/zh_CN' import antdLocale from 'ant-design-vue/es/locale/zh_CN'
const modules = import.meta.globEager('./zh-CN/**/*.ts') const modules = import.meta.glob('./zh-CN/**/*.ts', { eager: true })
export default { export default {
message: { message: {
...genMessage(modules, 'zh-CN'), ...genMessage(modules, 'zh-CN'),
......
...@@ -10,12 +10,12 @@ import { router } from '/@/router' ...@@ -10,12 +10,12 @@ import { router } from '/@/router'
import { PermissionModeEnum } from '/@/enums/appEnum' import { PermissionModeEnum } from '/@/enums/appEnum'
import { pathToRegexp } from 'path-to-regexp' import { pathToRegexp } from 'path-to-regexp'
const modules = import.meta.globEager('./modules/**/*.ts') const modules = import.meta.glob('./modules/**/*.ts', { eager: true })
const menuModules: MenuModule[] = [] const menuModules: MenuModule[] = []
Object.keys(modules).forEach((key) => { Object.keys(modules).forEach((key) => {
const mod = modules[key].default || {} const mod = (modules as Recordable)[key].default || {}
const modList = Array.isArray(mod) ? [...mod] : [mod] const modList = Array.isArray(mod) ? [...mod] : [mod]
menuModules.push(...modList) menuModules.push(...modList)
}) })
......
...@@ -5,12 +5,12 @@ import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '/@/router/routes/basic' ...@@ -5,12 +5,12 @@ import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '/@/router/routes/basic'
import { PageEnum } from '/@/enums/pageEnum' import { PageEnum } from '/@/enums/pageEnum'
import { t } from '/@/hooks/web/useI18n' import { t } from '/@/hooks/web/useI18n'
const modules = import.meta.globEager('./modules/**/*.ts') const modules = import.meta.glob('./modules/**/*.ts', { eager: true })
const routeModuleList: AppRouteModule[] = [] const routeModuleList: AppRouteModule[] = []
Object.keys(modules).forEach((key) => { Object.keys(modules).forEach((key) => {
const mod = modules[key].default || {} const mod = (modules as Recordable)[key].default || {}
const modList = Array.isArray(mod) ? [...mod] : [mod] const modList = Array.isArray(mod) ? [...mod] : [mod]
routeModuleList.push(...modList) routeModuleList.push(...modList)
}) })
......
...@@ -79,6 +79,8 @@ export default ({ command, mode }: ConfigEnv): UserConfig => { ...@@ -79,6 +79,8 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
// }, // },
// }, // },
// Turning off brotliSize display can slightly reduce packaging time // Turning off brotliSize display can slightly reduce packaging time
reportCompressedSize: false,
chunkSizeWarningLimit: 2000,
}, },
define: { define: {
// setting vue-i18-next // setting vue-i18-next
......
{
"vite": {
"optimizeDeps": {
"include": [
"@ant-design/colors",
"@ant-design/icons-vue",
"@logicflow/core",
"@logicflow/extension",
"@vueuse/core",
"@vueuse/shared",
"@zxcvbn-ts/core",
"ant-design-vue",
"axios",
"codemirror",
"codemirror/mode/css/css",
"codemirror/mode/htmlmixed/htmlmixed",
"codemirror/mode/javascript/javascript",
"cropperjs",
"crypto-js/aes",
"crypto-js/enc-base64",
"crypto-js/enc-utf8",
"crypto-js/md5",
"crypto-js/mode-ecb",
"crypto-js/pad-pkcs7",
"dayjs",
"dayjs/locale/zh-cn",
"echarts",
"echarts/charts",
"echarts/components",
"echarts/core",
"echarts/renderers",
"intro.js",
"lodash-es",
"nprogress",
"path-to-regexp",
"pinia",
"print-js",
"qrcode",
"qs",
"resize-observer-polyfill",
"showdown",
"sortablejs",
"tinymce/icons/default/icons",
"tinymce/plugins/advlist",
"tinymce/plugins/anchor",
"tinymce/plugins/autolink",
"tinymce/plugins/autosave",
"tinymce/plugins/code",
"tinymce/plugins/codesample",
"tinymce/plugins/directionality",
"tinymce/plugins/fullscreen",
"tinymce/plugins/hr",
"tinymce/plugins/insertdatetime",
"tinymce/plugins/link",
"tinymce/plugins/lists",
"tinymce/plugins/media",
"tinymce/plugins/nonbreaking",
"tinymce/plugins/noneditable",
"tinymce/plugins/pagebreak",
"tinymce/plugins/paste",
"tinymce/plugins/preview",
"tinymce/plugins/print",
"tinymce/plugins/save",
"tinymce/plugins/searchreplace",
"tinymce/plugins/spellchecker",
"tinymce/plugins/tabfocus",
"tinymce/plugins/template",
"tinymce/plugins/textpattern",
"tinymce/plugins/visualblocks",
"tinymce/plugins/visualchars",
"tinymce/plugins/wordcount",
"tinymce/themes/silver",
"tinymce/tinymce",
"vditor",
"vite-plugin-theme/es/client",
"vite-plugin-theme/es/colorUtils",
"vue",
"vue-i18n",
"vue-json-pretty",
"vue-router",
"vue-types",
"xlsx"
]
}
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论