vue在打包的时候能不能固定assets里的js和css文件名称

在 Vue 项目中(特别是使用 Vue CLI 构建的项目),打包时生成的 assets 目录下的 .js 和 .css 文件默认会带有哈希值(如 app.123abc.js),这是为了缓存优化。但你可以配置固定名称,方法如下:

方法一:Vue CLI 修改 vue.config.js

在项目根目录创建或修改 vue.config.js 文件,添加如下配置:

复制代码
module.exports = {
  // 关闭文件名中的 hash 值
  filenameHashing: false,

  // 自定义输出文件名
  configureWebpack: {
    output: {
      filename: 'js/[name].js',
      chunkFilename: 'js/[name].js'
    }
  },

  css: {
    extract: {
      filename: 'css/[name].css',
      chunkFilename: 'css/[name].css'
    }
  }
}

🔍 参数说明:

  • filenameHashing: false:关闭自动生成的 hash,让文件名保持固定。

  • output.filename:主入口 JS 文件名。

  • output.chunkFilename:分包/异步加载的 JS 文件名。

  • css.extract.filename:主 CSS 文件名。

  • css.extract.chunkFilename:异步 CSS 文件名。

构建后目录结构示例:

复制代码
dist/
  ├── index.html
  ├── js/
  │   ├── app.js
  │   └── chunk-vendors.js
  └── css/
      ├── app.css
      └── chunk-vendors.css

注意事项:

  1. 关闭哈希可能导致浏览器缓存问题,除非你使用文件版本控制或手动清缓存。

  2. 如果你使用的是 Vite 而不是 Vue CLI,配置方式会不同。

  3. 以上配置适用于 vue-cli@3/4/5。

Vite 方式

复制代码
build: {
  rollupOptions: {
    output: {
      entryFileNames: 'assets/js/[name].js',
      chunkFileNames: 'assets/js/[name].js',
      assetFileNames: ({ name }) => {
        if (name && name.endsWith('.css')) {
          return 'assets/css/[name].[ext]';
        }
        return 'assets/[name].[ext]';
      }
    }
  }
}

输出示例

复制代码
dist/
├── index.html
└── assets/
    ├── js/
    │   ├── main.js
    │   └── vendor.js
    └── css/
        └── style.css
相关推荐
vx_Biye_Design7 分钟前
springboot小学生英语学习APP62773-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·学习·课程设计
vx_Biye_Design1 小时前
expressDeepSeek社团咨询助手的学生社团管理系统60746-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·课程设计·express
传人1 小时前
悬停旋转放大和位移效果如何写
前端·javascript·css
vx_Biye_Design1 小时前
springboot宠物领养与救助平台64334-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·mysql·课程设计·宠物
vx_Biye_Design1 小时前
django就业信息推荐系统61953-计算机课程设计、毕业设计
java·vue.js·spring boot·python·架构·django·课程设计
羲云1 小时前
给 Vue 页面加个 Markdown 编辑器:ME.js 的接入、图片粘贴与音视频
javascript·vue.js
专业程序开发源2 小时前
springboot高校学生社团管理系统74810-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
Highcharts.js2 小时前
可视化商用图表库对比,如何选择?
前端·javascript·学习·信息可视化·highcharts·前端可视化
TheITSea3 小时前
JavaScript Web APIs
开发语言·前端·javascript
专业程序开发源3 小时前
springboot生命故事书制作小程序65290-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·mysql·小程序·课程设计