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
相关产品推荐
相关产品推荐

