Vite打包后的js和css如何分开输出

目前用Vite打包Vue项目后的输出目录,所有js和css都在dist的assets下面:

dist
  - assets
     index.css
     index.js
     index-legacy.js
     vendor.js
     vendor-legacy.js

想要打包成以下的形式,js和css分开存放:

dist
  - css
     index.css
  - js
     index.js
     index-legacy.js
     vendor.js
     vendor-legacy.js

自己尝试了一下rollup的配置,chunkFileNames和assetFileName并没有达到预期的效果

dist
  - css
     index.css
  - assets
     index.js
     index-legacy.js
  - js
     vendor.js
     vendor-legacy.js
阅读 11.9k
2 个回答
rollupOptions: {
  output: {
    assetFileNames: assetInfo => {
      var info = assetInfo.name.split('.')
      var extType = info[info.length - 1]
      if (
        /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/i.test(assetInfo.name)
      ) {
        extType = 'media'
      } else if (/\.(png|jpe?g|gif|svg)(\?.*)?$/.test(assetInfo.name)) {
        extType = 'img'
      } else if (/\.(woff2?|eot|ttf|otf)(\?.*)?$/i.test(assetInfo.name)) {
        extType = 'fonts'
      }
      return `static/${extType}/[name]-[hash][extname]`
    },
    chunkFileNames: 'static/js/[name]-[hash].js',
    entryFileNames: 'static/js/[name]-[hash].js'
  }
}
新手上路,请多包涵

把这个也设置了就可以了 entryFileNames

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题