更加严格地限制 Taro 和 Next.js 的版本可能是更好的选择
SyMind opened this issue · comments
Next.js 是一个非常稳定的项目,且总会保持向后兼容。所以我在开发这个插件时,将 Next.js 作为 peerDependencies
,并设置了非常宽松的版本要求 "next": ">=11.1.4"
。
对于 Taro,由于该插件只强依赖 Taro 的接口实现,所以插件未对用户使用的 Taro 版本有任何要求。
这样可以带来这样的好处,用户可以自行选择 Next.js 的版本,升级到某个版本来使用新的功能,解决一些 bug。
但是随着项目的持续,这也会带来这样的问题。
- Next.js 的一些周边库,例如
next-with-less
并不会保持向后兼容。 - Next.js 的 React 版本要求可能与 Taro 的不一致。
- Next.js 的 Node 版本要求可能与 Taro 的不一致。
- 插件不支持 Taro 一些新增的 API。
- 插件不支持 Taro 新的特性,例如 config 目录支持使用 TypeScript 编写。
这样看起来,插件严格地限制 Taro 和 Next.js 会是更好的选择,特定版本的插件仅保证对特征 Taro 和 Next.js 的支持,保证插件的稳定性也减少维护成本。