mirror of
https://github.com/vbenjs/vben-admin-thin-next.git
synced 2025-02-03 02:18:40 +08:00
test(code-split): code split optimization
This commit is contained in:
parent
81e904098d
commit
4cca007176
@ -10,6 +10,7 @@
|
|||||||
- 还原 antdv 默认 loading,重构 `Loading` 组件,增加`useLoading`和`v-loading`指令。并增加示例
|
- 还原 antdv 默认 loading,重构 `Loading` 组件,增加`useLoading`和`v-loading`指令。并增加示例
|
||||||
- i18n 支持 vscode `i18n-ally`插件
|
- i18n 支持 vscode `i18n-ally`插件
|
||||||
- 新增多级路由缓存示例
|
- 新增多级路由缓存示例
|
||||||
|
- 打包代码拆分(试验)
|
||||||
|
|
||||||
### ⚡ Performance Improvements
|
### ⚡ Performance Improvements
|
||||||
|
|
||||||
|
20
build/vite/optimizer.ts
Normal file
20
build/vite/optimizer.ts
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import type { GetManualChunk, GetManualChunkApi } from 'rollup';
|
||||||
|
|
||||||
|
//
|
||||||
|
const vendorLibs: { match: string[]; output: string }[] = [
|
||||||
|
{
|
||||||
|
match: ['xlsx'],
|
||||||
|
output: 'xlsx',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
// @ts-ignore
|
||||||
|
export const configManualChunk: GetManualChunk = (id: string, api: GetManualChunkApi) => {
|
||||||
|
if (/[\\/]node_modules[\\/]/.test(id)) {
|
||||||
|
const matchItem = vendorLibs.find((item) => {
|
||||||
|
const reg = new RegExp(`[\\/]node_modules[\\/]_?(${item.match.join('|')})(.*)`, 'ig');
|
||||||
|
return reg.test(id);
|
||||||
|
});
|
||||||
|
return matchItem ? matchItem.output : null;
|
||||||
|
}
|
||||||
|
};
|
@ -3,6 +3,7 @@ import { resolve } from 'path';
|
|||||||
|
|
||||||
import { modifyVars } from './build/config/lessModifyVars';
|
import { modifyVars } from './build/config/lessModifyVars';
|
||||||
import { createProxy } from './build/vite/proxy';
|
import { createProxy } from './build/vite/proxy';
|
||||||
|
import { configManualChunk } from './build/vite/optimizer';
|
||||||
|
|
||||||
import globbyTransform from './build/vite/plugin/transform/globby';
|
import globbyTransform from './build/vite/plugin/transform/globby';
|
||||||
import dynamicImportTransform from './build/vite/plugin/transform/dynamic-import';
|
import dynamicImportTransform from './build/vite/plugin/transform/dynamic-import';
|
||||||
@ -53,9 +54,11 @@ const viteConfig: UserConfig = {
|
|||||||
// terser options
|
// terser options
|
||||||
terserOptions: {
|
terserOptions: {
|
||||||
compress: {
|
compress: {
|
||||||
|
keep_infinity: true,
|
||||||
drop_console: VITE_DROP_CONSOLE,
|
drop_console: VITE_DROP_CONSOLE,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
define: {
|
define: {
|
||||||
__VERSION__: pkg.version,
|
__VERSION__: pkg.version,
|
||||||
// setting vue-i18-next
|
// setting vue-i18-next
|
||||||
@ -64,12 +67,14 @@ const viteConfig: UserConfig = {
|
|||||||
__VUE_I18N_FULL_INSTALL__: false,
|
__VUE_I18N_FULL_INSTALL__: false,
|
||||||
__INTLIFY_PROD_DEVTOOLS__: false,
|
__INTLIFY_PROD_DEVTOOLS__: false,
|
||||||
},
|
},
|
||||||
|
|
||||||
cssPreprocessOptions: {
|
cssPreprocessOptions: {
|
||||||
less: {
|
less: {
|
||||||
modifyVars: modifyVars,
|
modifyVars: modifyVars,
|
||||||
javascriptEnabled: true,
|
javascriptEnabled: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
// The package will be recompiled using rollup, and the new package compiled into the esm module specification will be put into node_modules/.vite_opt_cache
|
// The package will be recompiled using rollup, and the new package compiled into the esm module specification will be put into node_modules/.vite_opt_cache
|
||||||
optimizeDeps: {
|
optimizeDeps: {
|
||||||
include: [
|
include: [
|
||||||
@ -80,11 +85,6 @@ const viteConfig: UserConfig = {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
proxy: createProxy(VITE_PROXY),
|
|
||||||
plugins: createVitePlugins(viteEnv),
|
|
||||||
rollupInputOptions: {
|
|
||||||
plugins: createRollupPlugin(),
|
|
||||||
},
|
|
||||||
transforms: [
|
transforms: [
|
||||||
globbyTransform({
|
globbyTransform({
|
||||||
resolvers: resolvers,
|
resolvers: resolvers,
|
||||||
@ -94,6 +94,19 @@ const viteConfig: UserConfig = {
|
|||||||
}),
|
}),
|
||||||
dynamicImportTransform(VITE_DYNAMIC_IMPORT),
|
dynamicImportTransform(VITE_DYNAMIC_IMPORT),
|
||||||
],
|
],
|
||||||
|
|
||||||
|
proxy: createProxy(VITE_PROXY),
|
||||||
|
|
||||||
|
plugins: createVitePlugins(viteEnv),
|
||||||
|
|
||||||
|
rollupInputOptions: {
|
||||||
|
plugins: createRollupPlugin(),
|
||||||
|
},
|
||||||
|
|
||||||
|
rollupOutputOptions: {
|
||||||
|
compact: true,
|
||||||
|
manualChunks: configManualChunk,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default viteConfig;
|
export default viteConfig;
|
||||||
|
Loading…
Reference in New Issue
Block a user