【发布时间】:2017-02-14 22:03:53
【问题描述】:
假设我正在开发一个可供其他开发人员使用的库。 MyPackage 依赖于时刻。使用我的包的开发人员也依赖于时刻。所以 moment 将作为库 package.json 和应用程序 package.json 中的“依赖项”存在(因此被打包两次)。有没有办法只打包一次?如果消费者有,就用他们的,否则用我的?
【问题讨论】:
-
如果他们依赖的版本与您不同怎么办?只需处理您自己的依赖项,不要担心其他人的。
-
我意识到了。如果我们对一个版本进行标准化,如果我们不必多次打包所有内容,我们可以减少最终的有效负载。 Moment 只是众多依赖项之一
-
你真的有输出文件大小的问题吗?这看起来很像过早的优化。也就是说,如果它仅供内部使用并且每个人都乐于始终使用相同的版本,那么您可以建立对等依赖 nodejs.org/en/blog/npm/peer-dependencies
-
是的——它是一个公司网站,我们可以在一个版本上标准化——我们还需要将最终页面的有效负载保持在最低限度,因此绝对需要尽可能减少臃肿。
标签: npm package.json