刚试过纱线,确实它速度超快。在控制台中使用加载的yarn
运行package.json
后,它安装了所有内容。然后我跑npm dedupe
期待没有什么事情发生,因为Yarn是如此优化,但它删除了吨的东西。是否有一些纱线相当于npm dedupe
?
增加:
正如我在下面的评论中所指出的那样,我认为yarn install --flat
可能是npm dedupe
等效,因为Yarn documentation将其描述为“安装一个且只有一个版本的软件包”。所以我和--flat
一起玩,有几件事需要注意:
cannot find module
错误。npm dedupe
之后运行了yarn install --flat
,而仍然导致了大量的删除。这对我来说是一个惊喜。所以我认为npm dedupe
正在做其他一些魔术,而我对于我不需要关注的过程只是天真。也许最好不要单独留下树而忘记--flat
和dedupe
。
答案 0 :(得分:0)
答案 1 :(得分:0)
即使现在,Yarn似乎也没有尽最大的努力来减少重复的依赖关系。运行$length = (isset($_POST["length"]))? $_POST["length"] : -1;
$start = (isset($_POST["start"]))? $_POST["start"] : 0;
if ($_POST["length"] > -1) {
$query .= 'LIMIT ' . $start . ', ' . $length;
}
会强制依赖项只有一个版本,即使它们可能不兼容也是如此,所以这不是理想的选择。您可以使用yarn-deduplicate
包来最大程度地减少重复项,同时在不存在重叠需求的情况下仍可以允许重复项。 yarn --flat
还有一个yarn-deduplicate
选项,它将返回非零(失败)状态。这对于在CI上运行很有用,以确保修改依赖项的任何人都不会引入新的重复项。