caoxiemeihao / vite-plugins

🌱 为社区尽一份绵薄之力
MIT License
65 stars 15 forks source link

fix: delete enforce key #6

Closed LinkSofuny closed 2 years ago

LinkSofuny commented 2 years ago

你好, 我在使用你的plugin的时候出现了一些bug, 原因是因为我自己写的路径解析plugin, 比您的晚执行, 这将出现以下问题:

  1. lang-jsx 解析了代码
  2. 我的路径解析plugins完毕后发现新的模块
  3. 这些新的模块并未被您的插件解析.

主要原因是代码中存在 enfore: 'pre' 字段. 但是它应该比我的plugins晚执行才对. 所以plugin执行的先后让用户决定会不会更好呢?

caoxiemeihao commented 2 years ago

当初设计 lang-jsx 的时候;
有一点让我很是头疼,好像在 webpack 的世界里所有插件好像不用管顺序可以无脑使用;
可能这是我的一个错觉,实际上 webpack 和 rollup 插件机制几乎一样,必然会存在顺序问题;
只是在 webpack 的世界里,大部分功能都通过 loader 解决了,没有使用大量的 plugin 所以才造成了我的错觉;
你说的有道理,顺序问题留给用户自己去决定吧;这点回头我写在 README.md 中加以说明 😄

caoxiemeihao commented 2 years ago

昨天在掘金上发现了一个问题;
插件欠缺在 Pre-Building 阶段的 lang-jsx 分析,导致 Pre-Building 阶段的 esbuild 报错;
明天把 Pre-Building 阶段的 esbuild 插件补充下,再把你的合并下发个版 🚀

LinkSofuny commented 2 years ago

好的~ 感谢开源