vite自定义 打包文件名

2/22/2022 viterollup

# 参考文档

vite 自定义底层的 Rollup 打包配置 (opens new window) rollup 配置列表 (opens new window)

# 基础配置

[name] [hash] [ext]... 为内置占位符,详见对应的rollup配置。e.g.assetFileNames (opens new window)

export default defineConfig({
  build: {
    rollupOptions: {
      output: {
        // 入口文件名
        entryFileNames: 'assets/[name].js',
        // 块文件名
        chunkFileNames: 'assets/[name]-[hash].js',
        // 资源文件名 css 图片等等
        assetFileNames: 'assets/[name]-[hash]-balabala.[ext]',
      },
    },
  }
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 进阶配置

entryFileNameschunkFileNamesassetFileNames支持使用函数以实现更灵活的配置,这里以assetFileNames为例

import path from 'path'
export default defineConfig({
  build: {
    rollupOptions: {
      output: {
        assetFileNames(chunkInfo) {
          if (chunkInfo.name) {
            const [name, ext] = path.basename(chunkInfo.name).split('.')
            return `assets/${name.toLocaleLowerCase()}-balabala.${ext}`
          }
          return ''
        },
      },
    },
  }
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Last Updated: 2/16/2023, 10:05:20 AM