阅读(747) (0)

Vite 插件 API 插件兼容性

2022-03-08 09:49:39 更新

相当数量的 Rollup 插件将直接作为 Vite 插件工作(例如:​@rollup/plugin-alias​ 或 ​@rollup/plugin-json​),但并不是所有的,因为有些插件钩子在非构建式的开发服务器上下文中没有意义。

一般来说,只要 Rollup 插件符合以下标准,它就应该像 Vite 插件一样工作:

  • 没有使用 ​moduleParsed ​钩子。
  • 它在打包钩子和输出钩子之间没有很强的耦合。

如果一个 Rollup 插件只在构建阶段有意义,则在 ​build.rollupOptions.plugins​ 下指定即可。

你也可以用 Vite 独有的属性来扩展现有的 Rollup 插件:

// vite.config.js
import example from 'rollup-plugin-example'
import { defineConfig } from 'vite'

export default defineConfig({
  plugins: [
    {
      ...example(),
      enforce: 'post',
      apply: 'build'
    }
  ]
})