UNPKG

@neosjs/cli

Version:

Neos(奈欧斯)是一个帮助开发者快速地创建 Vue3 应用并自动配置项目编译的脚手架

44 lines (42 loc) 1.33 kB
interface IPreRenderedAsset { name?: string | any source?: string | Uint8Array type?: 'asset' } export const cerateViteBuild = (viteEnv: ViteEnv, banner: string) => { const { VITE_DROP_CONSOLE, VITE_OUT_DIR, VITE_ASSETS_DIR, VITE_SOURCEMAP } = viteEnv return { outDir: VITE_OUT_DIR, assetsDir: VITE_ASSETS_DIR, cssCodeSplit: true, sourcemap: VITE_SOURCEMAP, terserOptions: { compress: { drop_console: VITE_DROP_CONSOLE, //打包时删除console drop_debugger: VITE_DROP_CONSOLE, //打包时删除 debugger pure_funcs: VITE_DROP_CONSOLE ? ['console.log', 'debugger'] : [] }, output: { comments: true } }, rollupOptions: { output: { banner, chunkFileNames: `${VITE_ASSETS_DIR}/js/[hash].js`, entryFileNames: `${VITE_ASSETS_DIR}/js/[hash].js`, // assetFileNames: 'static/[ext]/[hash].[ext]', assetFileNames: (chunkInfo: IPreRenderedAsset) => { const { name } = chunkInfo const fileExt = name.split('.') return `${VITE_ASSETS_DIR}/${fileExt[1] === 'css' ? 'css' : 'imgs'}/[hash].${fileExt[1]}` }, manualChunks: { vue: ['vue', 'vue-router'], pinia: ['pinia'], 'lodash-es': ['lodash-es'] } } } } }