vite构建之---build.rollupOptions

vite.config.js 文件中的 build.rollupOptions 配置项允许开发者自定义底层的 Rollup 打包配置。以下是对 build.rollupOptions 配置项的详细解析:

一、基本配置

  • external:用于指定打包时应该将哪些模块作为外部模块处理。这意味着打包过程中不会对这些外部模块进行打包,而是直接从外部加载。例如,如果项目中使用了某个第三方库,且该库可能已经被其他项目打包成了一个单独的 bundle,那么就可以将这个库指定为外部模块,以减小打包体积。

  • input:指定打包的入口文件。可以是一个字符串(单入口)或一个对象(多入口),其中对象的属性名将作为文件名中的 [name] 占位符。

  • output:配置打包的输出选项。可以包含以下子选项:

    • dir:指定输出目录。
    • file:指定要输出的文件(仅在生成的 chunk 不超过一个的情况下才可使用)。
    • format:指定输出的格式,如 escjsamdiifeumd 等。
    • name:指定 bundle 输出内容的别名(仅在 iife 或 umd 输出模式下需要)。
    • chunkFileNames:自定义代码分割中产生的 chunk 的文件名。支持占位符,如 [format][hash][name] 等。
    • entryFileNames:指定入口文件的文件名模式。同样支持占位符。
    • assetFileNames:自定义构建结果中的静态资源名称。支持占位符,如 [extname][ext][hash][name] 等。
    • manualChunks:允许创建自定义的公共 chunk。可以是一个对象(每个属性代表一个 chunk)或一个函数(每个被解析的模块都会经过该函数处理)。
  • plugins:指定要使用的 Rollup 插件。插件可以用于各种任务,如代码转换、压缩、打包优化等。

二、其他配置选项

除了上述基本配置外,build.rollupOptions 还支持一些其他配置选项,如:

  • cache:配置缓存选项,以提高构建速度。
  • logLevel:设置日志级别,以控制构建过程中输出的日志信息。
  • makeAbsoluteExternalsRelative:将外部依赖的绝对路径转换为相对路径。
  • maxParallelFileOps:限制 Rollup 同时打开的文件数量,以防止系统资源耗尽。
  • onwarn:拦截警告信息,允许开发者自定义如何处理警告。
  • preserveEntrySignatures:确保入口 chunk 的导出与基础入口模块一致。
  • strictDeprecations:对废弃功能的使用发出警告,以帮助开发者迁移到新的 API 或功能。

三、配置示例

以下是一个使用 build.rollupOptions 的配置示例:

// vite.config.js
export default defineConfig({
  build: {
    rollupOptions: {
      input: 'src/main.js',
      output: {
        dir: 'dist',
        format: 'es',
        chunkFileNames: 'js/[name]-[hash].js',
        entryFileNames: 'js/[name]-[hash].js',
        assetFileNames: '[ext]/[name]-[hash].[ext]',
        manualChunks(id) {
          if (id.includes('node_modules')) {
            return 'vendor'; // 将 node_modules 中的代码单独打包成一个名为 vendor 的 JS 文件
          }
        }
      },
      external: ['lodash', 'axios'], // 指定 lodash 和 axios 为外部模块
      plugins: [
        // 在这里添加 Rollup 插件
      ]
    }
  }
});

在上面的示例中,input 指定了打包的入口文件,output 配置了输出选项,包括输出目录、文件格式、文件名模式等。external 指定了外部模块,plugins 则用于添加 Rollup 插件。

综上所述,vite build.rollupOptions 配置项提供了丰富的自定义选项,允许开发者根据项目的具体需求进行灵活配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值