chore: 优化渲染器应用的代码切割,加快加载速度
This commit is contained in:
parent
b76b9e9013
commit
828fe45a43
11
apps/renderer/.env.analyze
Normal file
11
apps/renderer/.env.analyze
Normal file
@ -0,0 +1,11 @@
|
||||
# 只在生产模式中被载入
|
||||
VITE_NODE_ENV = 'analyze'
|
||||
|
||||
# 公共基础路径, 详见: https://cn.vitejs.dev/guide/build.html#public-base-path
|
||||
VITE_BASE_URL = /
|
||||
|
||||
VITE_BASE_API_URL = 'https://custom-chart-api.shiyuegame.com/'
|
||||
|
||||
VITE_PLATFORM_URL = 'https://y-code.shiyue.com/'
|
||||
VITE_DESIGNER_URL = 'https://y-code-designer.shiyue.com/'
|
||||
VITE_RENDERER_URL = 'https://y-code-renderer.shiyue.com/'
|
@ -9,13 +9,12 @@
|
||||
"build": "vite build --mode production",
|
||||
"build:staging": "vite build --mode staging",
|
||||
"build:dev": "vite build --mode development",
|
||||
"build:analyze": "vite build --mode analyze",
|
||||
"preview": "vite preview",
|
||||
"typecheck": "vue-tsc --noEmit --skipLibCheck"
|
||||
},
|
||||
"dependencies": {
|
||||
"@iframe-resizer/child": "^5.3.3",
|
||||
"@sentry/vue": "^9.7.0",
|
||||
"@sy/web-vitals": "workspace:*",
|
||||
"@tanstack/vue-query": "^5.69.0",
|
||||
"@vtj/charts": "^0.11.5",
|
||||
"@vtj/core": "^0.11.5",
|
||||
@ -38,6 +37,7 @@
|
||||
"@types/postmate": "catalog:",
|
||||
"@vitejs/plugin-vue": "catalog:",
|
||||
"@vtj/cli": "^0.11.2",
|
||||
"rollup-plugin-visualizer": "5.14.0",
|
||||
"vite": "catalog:",
|
||||
"vite-plugin-mkcert": "catalog:"
|
||||
}
|
||||
|
4949
apps/renderer/stats.html
Normal file
4949
apps/renderer/stats.html
Normal file
File diff suppressed because one or more lines are too long
@ -1,12 +1,14 @@
|
||||
import path from 'node:path';
|
||||
|
||||
import vue from '@vitejs/plugin-vue';
|
||||
import { visualizer } from 'rollup-plugin-visualizer';
|
||||
import { defineConfig, loadEnv } from 'vite';
|
||||
import mkcert from 'vite-plugin-mkcert';
|
||||
|
||||
export default defineConfig(({ mode }) => {
|
||||
const env = loadEnv(mode, process.cwd(), ['VITE_']);
|
||||
const isDev = env.VITE_NODE_ENV === 'development';
|
||||
const isAnalyze = env.VITE_NODE_ENV === 'analyze';
|
||||
|
||||
return {
|
||||
// 服务器配置
|
||||
@ -18,7 +20,19 @@ export default defineConfig(({ mode }) => {
|
||||
: undefined,
|
||||
|
||||
// 插件配置
|
||||
plugins: [vue(), isDev && mkcert()],
|
||||
plugins: [
|
||||
vue(),
|
||||
isDev && mkcert(),
|
||||
// 添加打包分析插件
|
||||
isAnalyze &&
|
||||
visualizer({
|
||||
filename: 'stats.html', // 分析图生成的文件名
|
||||
open: true, // 打包完成后自动打开浏览器
|
||||
gzipSize: true, // 显示gzip后的大小
|
||||
brotliSize: true, // 显示brotli压缩后的大小
|
||||
stat: true, // 显示包的状态信息
|
||||
}),
|
||||
].filter(Boolean),
|
||||
|
||||
// 解析配置
|
||||
resolve: {
|
||||
@ -32,5 +46,33 @@ export default defineConfig(({ mode }) => {
|
||||
define: {
|
||||
'process.env': JSON.stringify(env),
|
||||
},
|
||||
|
||||
// 打包配置
|
||||
build: {
|
||||
rollupOptions: {
|
||||
output: {
|
||||
// 可选:对代码进行分块
|
||||
manualChunks: {
|
||||
vendor: ['vue', 'vue-router', 'core-js'],
|
||||
'element-plus': ['element-plus'],
|
||||
icon: ['@vtj/icons'],
|
||||
chart: ['@vtj/charts'],
|
||||
utils: ['@vtj/utils'],
|
||||
fetch: ['axios', '@tanstack/vue-query'],
|
||||
sentry: ['@sentry/vue'],
|
||||
// 低代码引擎的内容打包到一块
|
||||
'low-code-engine': [
|
||||
'@vtj/core',
|
||||
// 物料手动拆分会报错,绕过它
|
||||
// '@vtj/materials',
|
||||
'@vtj/pro',
|
||||
'@vtj/renderer',
|
||||
'@vtj/ui',
|
||||
'@vtj/web',
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
});
|
||||
|
@ -28,7 +28,6 @@
|
||||
"vue": "2.7.16"
|
||||
},
|
||||
"dependencies": {
|
||||
"licia-es": "catalog:",
|
||||
"vue-property-decorator": "9.1.2",
|
||||
"wujie-vue2": "1.0.22"
|
||||
},
|
||||
|
624
pnpm-lock.yaml
generated
624
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user