在我们的库中,如何告诉webpack跳过依赖关系?
我们有一个传统的客户端库。 它使用HTTP请求(或其他一些依赖库)来进行REST调用。 使用库时,用户将使用特定的请求提供程序进行初始化,然后closures它们。
我们在我们的例子中使用webpack来利用我们的库。
现在将其扩展为使用节点获取,所以如果有人想从支持的nodejs使用它。
对于使用webpack的人来说,webpack现在试图打包node-fetch,并且require调用在浏览器中失败。 我们可以通过设置外部来解决这个问题
"externals" : { "node-fetch": "{}" }
有没有一种方法来定义我们的库,以便如果消费者正在使用webpack target:web,它会跳过需要检查节点获取? 同样,如果消费者正在使用webpack target:nodejs,则需要包含节点获取组件。
有问题的项目是https://github.com/OfficeDev/PnP-JS-Core
感谢您报告这一点。 因此,根据此链接的提交和对话 ,自动模块parsing字段(也称为webpackparsing器实例的described-resolve
parsing)根据您的目标是什么而改变。
默认情况下,当目标是你的webpack构build中的node
时,package.json字段中的parsing将默认main
字段,否则默认情况下, browser
字段优先。