是否可以将纱线视为凉亭和npm的替代品?

oru*_*pov 8 npm bower yarnpkg

我应该澄清一点,我对前端工具没有经验,所以如果我问一些明显和愚蠢的东西,我会提前感到抱歉.

到目前为止,我一直在使用的字体结束和新公共管理服务器端的凉亭,虽然每个提到的工具有它的优势,我的意思是平的依赖管理亭子(减少了从客户端负载)和嵌套依赖管理NPM(使用版本控制有很多帮助,使用这么多工具(webpack,browserify等)变得非常麻烦.我可能一直在以错误的方式使用这些工具,并且可以使用其中任何一种选项(我不知道)并且只是表面上看,我只是把这个答案作为我的经验法则并且一直在做自从我读完之后就这样了.如果我能把这两个减少到一个就好了.

最近我对纱线感到好奇,并且围绕它的所有炒作似乎它已经做得很好,好像它会完全取代npm.正如我已经阅读了文档,我发现了--flat选项,这让我想知道是否可以将它作为更换器使用呢?如果是这样的话意味着我可以拥有平面或嵌套的依赖管理器(通过为服务器和前端提供多个json文件)?

如果有人能指出我正确的方向,我真的很感激!

Aur*_*001 9

这取决于您的确切用例,但......可能.

目前,主流趋势似乎是模块捆绑商,如Webpack和Browserify(因此是npm或Yarn),远离Bower.您可以阅读NPM与Bower对浏览器与Gulp vs. Grunt vs. Webpack的情况的完美概述,以及为什么您可能需要 Webpack而不是Bower的一些原因.

在那一刻,你可能正在使用HTTP,它可以更快地获得一个JavaScript包文件而不是许多源文件(就像Bower一样).这就是为什么Webpack和Browserify如此受欢迎(以及其他原因) - 它们应该提高性能并简化开发.

旁注: HTTP/2会降低模块捆绑的价值,因为多个请求的成本会低得多.有关涉及HTTP/2的问题的更详细描述,请参阅使用Webpack with HTTP/2的价值是什么.

如果您使用npm或Yarn,依赖项是嵌套的并不重要 - 您的前端依赖项无论如何都将与Webpack/Browserify捆绑在一起,因此使用嵌套包的主要成本是占用更多空间和更多下载时间.

由于npm v3和Yarn可以进行平面安装,因此无论如何都不应该有任何问题.简而言之:你可能会做到这一点,许多其他人正在这样做.