Vite插件生命周期
本文最后更新于106 天前,其中的信息可能已经过时,如有错误请发送邮件到1986413837@qq.com

准备阶段 -> 加工阶段(循环) -> 收尾阶段

Q1: Vite 的插件和 Webpack 插件有什么区别?

  • :Vite 在开发环境使用 esbuild(快),在生产环境使用 Rollup(包小)。Vite 的插件接口设计是兼容 Rollup 的,而 Webpack 是基于 Tapable 的钩子系统,两者写法完全不同。

Q2: transform 钩子是做什么的?

  • :它是最核心的代码转换钩子。比如我们在项目中写 TypeScript,浏览器看不懂,Vite 就会在 transform 钩子里调用 esbuild 或 babel 把 TS 转译成 JS。

Q3: 开发环境(Dev)和生产环境(Build)插件行为一样吗?

  • 不一样! 这是坑点。
    • 生产环境:跑完整的 Rollup 打包流程(上述所有钩子都会跑)。
    • 开发环境:Vite 启动一个 HTTP Server。它不会生成 dist 文件,所以 closeBundle 在开发环境(npm run dev)通常是不会触发的!
    • (这也解释了为什么你的 version.json 只有在打包后才有,开发时看不到)

Life's a struggle, I'll conquer it.
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇