You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.3 KiB
61 lines
2.3 KiB
export const vitePluginChunk = {
|
|
name: 'vite-plugin-chunk',
|
|
outputOptions: (options) => {
|
|
options.manualChunks = (id, {getModuleInfo, getModuleIds}) => {
|
|
// console.log(id)
|
|
if(id.includes('node_modules/ant-design-vue')) {
|
|
return 'antd.min.esm'
|
|
} else if(id.includes('@ant-design/icons-vue')
|
|
|| id.includes('@ant-design/icons-svg')) {
|
|
return 'antd.icons.esm'
|
|
} else if(id.includes('node_modules/moment')) {
|
|
return 'moment.min.esm'
|
|
} else if(id.includes('node_modules/@vue/')) {
|
|
return 'vue.runtime.esm'
|
|
} else if(id.includes('node_modules/vue-router/')) {
|
|
return 'vue-router.esm'
|
|
} else if(id.includes('node_modules/vuex/')) {
|
|
return 'vuex.esm'
|
|
} else if(id.includes('node_modules/axios'
|
|
|| id.includes('node_modules/qs'))) {
|
|
return 'axios.qs.esm'
|
|
} else if(id.includes('node_modules/mockjs')) {
|
|
return 'mockjs.esm'
|
|
} else if(id.includes('node_modules/tinymce')) {
|
|
if(id.includes("tinymce.js")) {
|
|
return 'tinymce.esm'
|
|
} else if(id.includes("themes")) {
|
|
return 'themes/index'
|
|
} else if(id.includes("plugins")) {
|
|
return 'plugins/index'
|
|
} else if(id.includes("icons")) {
|
|
return 'icons/index'
|
|
}
|
|
return null// 'tinymce.esm'
|
|
} else if(id.includes("echarts")) {
|
|
return "echarts.esm"
|
|
} else if(id.includes('node_modules')) {
|
|
return 'vendor' // 其他第三方库
|
|
}
|
|
}
|
|
|
|
options.assetFileNames = (chunk) => {
|
|
if(chunk.name.includes('antd.min.css')) {
|
|
return `lib/antd.min.css`
|
|
}
|
|
return 'assets/[name].[hash].[ext]';
|
|
}
|
|
|
|
options.chunkFileNames = (chunk) => {
|
|
if(chunk.name.includes('esm')) {
|
|
return 'lib/[name].js'
|
|
} else if(chunk.name.includes('tinymce')) {
|
|
return 'tinymce/[name].js'
|
|
}
|
|
|
|
return 'assets/[name].[hash].js';
|
|
}
|
|
|
|
return options;
|
|
},
|
|
}
|