Skip to content

Commit

Permalink
feat:
Browse files Browse the repository at this point in the history
  • Loading branch information
wangdan-fit2cloud committed Apr 25, 2023
1 parent 0b834fd commit 71c1f24
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 50 deletions.
37 changes: 33 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,39 @@ rollupOptions: {

![image](src/assets/readme/4.png)

也可以分不同的文件夹,打包之后每个模块一个文件夹

```
build: {
rollupOptions: {
output: {
// 用于命名代码拆分时创建的共享块的输出命名
chunkFileNames: (chunkInfo) => {
const facadeModuleId = chunkInfo.facadeModuleId
? chunkInfo.facadeModuleId.split('/')
: [];
const fileName =
facadeModuleId[facadeModuleId.length - 2] || '[name]';
return `js/${fileName}/[name].[hash].js`;
},
// 用于从入口点创建的块的打包输出格式
entryFileNames: `js/[name]-[hash].js`,
// assetFileNames 不设置 所有css和图片文件就默认在assets中
// assetFileNames: `assets/[ext]/[name]-[hash].[ext]`,
manualChunks(id: string) {
if (id.includes('node_modules')) {
return 'vendor'
}
// 一个模块只要一个文件,如果需要一个vue一个文件,以下代码可忽略
if (id.includes('/src/views/')) {
return id.toString().split('/src/views/')[1].split('/')[0]
}
}
}
}
}
```


### 3、第三方代码分包后,文件过于琐碎,只单独提出个别大文件

Expand Down Expand Up @@ -144,10 +177,6 @@ rollupOptions: {
if (id.includes('node_modules')) {
if (id.includes('vue')) {
return 'vue'
} else if (id.includes('element-plus')) {
return 'element-plus'
} else if (id.includes('fit2cloud-ui-plus')) {
return 'fit2cloud-ui-plus'
} else if (id.includes('axios')) {
return 'axios'
}
Expand Down
2 changes: 1 addition & 1 deletion stats.html

Large diffs are not rendered by default.

89 changes: 44 additions & 45 deletions vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,51 +27,50 @@ export default defineConfig({
'@': fileURLToPath(new URL('./src', import.meta.url))
}
},
// build: {
// minify: 'terser',
// emptyOutDir: true, //打包前先清空原有打包文件
// //生产环境时移除console
// terserOptions: {
// compress: {
// drop_console: true,
// drop_debugger: true
// }
// },
// rollupOptions: {
// output: {
// // 用于命名代码拆分时创建的共享块的输出命名
// chunkFileNames: (chunkInfo) => {
// const { name, isDynamicEntry } = chunkInfo
// if (isDynamicEntry) {
// return `js/views/${name}-[hash].js`
// }
// return `js/vendor/${name}-[hash].js`
// },
// // 用于从入口点创建的块的打包输出格式
// entryFileNames: `js/[name]-[hash].js`,
// // 用于输出静态资源的命名,打包后的目录中可能会出现png、jpg、svg、ttf、gif等目录。
// // assetFileNames: `assets/[ext]/[name]-[hash].[ext]`,
// manualChunks(id: string) {
// // 根据不同模块
// if (id.includes('/src/views/')) {
// return id.toString().split('/src/views/')[1].split('/')[0]
// }
// if (id.includes('node_modules')) {
// if (id.includes('vue')) {
// return 'vue'
// } else if (id.includes('element-plus')) {
// return 'element-plus'
// } else if (id.includes('fit2cloud-ui-plus')) {
// return 'fit2cloud-ui-plus'
// } else if (id.includes('axios')) {
// return 'axios'
// }
// return 'vendor'
// }
// }
// }
// }
// },
build: {
minify: 'terser',
emptyOutDir: true, //打包前先清空原有打包文件
//生产环境时移除console
terserOptions: {
compress: {
drop_console: true,
drop_debugger: true
}
},
rollupOptions: {
output: {
// 用于命名代码拆分时创建的共享块的输出命名
chunkFileNames: (chunkInfo) => {
const facadeModuleId = chunkInfo.facadeModuleId
? chunkInfo.facadeModuleId.split('/')
: [];
const fileName =
facadeModuleId[facadeModuleId.length - 2] || '[name]';
return `js/${fileName}/[name].[hash].js`;
},

entryFileNames: `js/[name]-[hash].js`,
// 用于输出静态资源的命名,打包后的目录中可能会出现png、jpg、svg、ttf、gif等目录。
// assetFileNames: `assets/[ext]/[name]-[hash].[ext]`,
// manualChunks(id: string) {
// // 根据不同模块
// if (id.includes('/src/views/')) {
// return id.toString().split('/src/views/')[1].split('/')[0]
// }
// if (id.includes('node_modules')) {
// if (id.includes('vue')) {
// return 'vue'
// } else if (id.includes('fit2cloud-ui-plus')) {
// return 'fit2cloud-ui-plus'
// } else if (id.includes('axios')) {
// return 'axios'
// }
// return 'vendor'
// }
// }
}
}
},
server: {
}
})

0 comments on commit 71c1f24

Please sign in to comment.