You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ViteJS配置:打包生成固定文件名且manifest含哈希

Vite配置:固定文件名 + Manifest带哈希参数

要实现**打包后JS/CSS文件名固定,同时Manifest文件中追加?id=哈希**的需求,你需要调整Vite配置中的manifest选项和Rollup输出规则,具体配置如下:

export default defineConfig({
  build: {
    // 开启Manifest并强制追加哈希参数
    manifest: {
      hash: true
    },
    // 指定输出目录,和你的需求保持一致
    outDir: './../../../public/build',
    rollupOptions: {
      output: {
        // 入口JS文件输出到js目录,文件名固定(无哈希)
        entryFileNames: `js/[name].js`,
        // 代码分割的chunk文件同样输出到js目录,文件名固定
        chunkFileNames: `js/[name].js`,
        // 资源文件(CSS、图片等)输出到css目录,文件名固定
        assetFileNames: `css/[name].[ext]`
      }
    }
  }
})

关键配置说明

  • manifest: { hash: true }:这是核心配置,当输出文件名不带哈希时,该规则会强制在Manifest的映射路径后追加?id=文件哈希,完全匹配你需要的Manifest格式。
  • entryFileNames/chunkFileNames/assetFileNames:分别指定JS入口、分割chunk、资源文件的输出路径和命名规则,确保文件输出到js/和css/目录下,且文件名保持原始名称(无哈希)。
  • outDir:保持你原来的输出目录配置,确保文件生成到/public/build下。

效果验证

执行vite build后,你会得到:

  • /public/build/js/app.js(无哈希的固定文件名)
  • /public/build/css/app.css(无哈希的固定文件名)
  • /public/build/.vite/manifest.json(内容和你给出的示例一致,路径后带?id=哈希参数)

内容的提问来源于stack exchange,提问作者Umut KIRGÖZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 16:51:18