同时支持 Webpack、Parcel 和 Rollup 的最佳方法?
Best approach to support Webpack, Parcel and Rollup all at once?
我正在编写一个与捆绑器一起使用的库(一个 cli 工具)。我想支持所有三个主要的打包器:Webpack、Parcel 和 Rollup。
我正在考虑将它们中的每一个指定为 package.json
中的对等依赖项,然后接受参数 --webpack
、--parcel
或 --rollup
。我会在文档中写下您需要安装其中之一,然后将其指定为参数。
唯一的 "problem" 似乎是 npm 会向您发出有关已卸载对等依赖项的警告,我想知道这是否是糟糕的用户体验。有没有我想念的更好的方法?
由于您要构建的工具或多或少需要特定版本的 webpack & co。无论如何要正常工作,您可能希望将它们与您自己的工具捆绑在一起。
这样您就不会有未解决的对等依赖关系,您的用户只需添加一个依赖关系,而不是多个依赖关系。另外,他们得到了事情一定会成功的保证。
当然,OTOH 这意味着每次都要安装一堆软件包,尽管其中大部分都不需要。这是缺点。从我个人的角度来看,保证事情正常运行比较小的下载更重要,但是 YMMV。
我正在编写一个与捆绑器一起使用的库(一个 cli 工具)。我想支持所有三个主要的打包器:Webpack、Parcel 和 Rollup。
我正在考虑将它们中的每一个指定为 package.json
中的对等依赖项,然后接受参数 --webpack
、--parcel
或 --rollup
。我会在文档中写下您需要安装其中之一,然后将其指定为参数。
唯一的 "problem" 似乎是 npm 会向您发出有关已卸载对等依赖项的警告,我想知道这是否是糟糕的用户体验。有没有我想念的更好的方法?
由于您要构建的工具或多或少需要特定版本的 webpack & co。无论如何要正常工作,您可能希望将它们与您自己的工具捆绑在一起。
这样您就不会有未解决的对等依赖关系,您的用户只需添加一个依赖关系,而不是多个依赖关系。另外,他们得到了事情一定会成功的保证。
当然,OTOH 这意味着每次都要安装一堆软件包,尽管其中大部分都不需要。这是缺点。从我个人的角度来看,保证事情正常运行比较小的下载更重要,但是 YMMV。