范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

将nodemodules目录放入Git仓库的优点

  推荐一篇文章  Why you should check-in your node dependencies[1]
  作者是Google 的一位工程师,他介绍了他们团队将 Node.js 项目的 node_modules 目录加入到Git仓库的好处,值得借鉴。除了 Node.js 项目,像 PHP 项目的 vendor 目录,也可以考虑下这样做。
  下面是原文:
  在我现在的工作之前,我在每个公司的每个团队都有一个约定:不要将你的  node_modules  文件夹放到你的版本控制系统(在本文的其余部分我将其称为 "Git"...)中。这似乎是一个可靠的建议,有多个原因。
  •node_modules 中的代码并不是由团队直接编写的。
  •node_modules 中的代码通常相当大,会在  git diffs  和 pull requests  操作时引入很多不必要的代码,将代码审核变得复杂。
  •node_modules 中的代码可以很容易地通过  npm install  来获得。
  我目前在谷歌的Chrome DevTools团队工作,我们将  node_modules  文件夹放入了 Git 中。起初,这让我觉得很诧异,但我逐渐发现,这样做有很多的的好处。 优点不需要npm安装
  一旦你将  node_modules  文件夹放入了 Git 中, 你在运行代码之前就不需要运行安装步骤。这不仅对本地开发人员有用,对你在持续集成平台上运行的任何机器人(例如CircleCI、GitHub Actions等)也有很大的加速作用。这是机器人构建完全可以忽略的一步。我在本地从头开始运行一个完整的 npm install  至少需要1-2分钟,而在机器人构建时,这可能需要花费更长的时间。如果你设置机器人在在每次 pull request  时都运行,机器人可能每天都会运行50次以上。将node_modules  文件夹放入了 Git 中可以节省大量的时间(和带宽!)。 代码一致、构建更加有保证
  将 node_modules  文件夹放入了 Git 中可以保证两个运行代码的开发者运行的是完全相同的代码和完全相同的依赖关系集。虽然,这可以通过 package-lock.json  文件或其他工具来管理,虽然这些工具都很少出现问题,但有时会出现一个小版本号的变化而导致的问题。一旦依赖项位于git中,您就不可能使用除这些依赖项之外的任何其他内容运行,每个开发人员都将运行完全相同的代码库。 可以更好地了解你的代码
  当  git diff  向我显示正在添加到项目中的全部代码时,我惊讶地发现我对添加依赖关系有了更清楚的认识。这使我们对依赖关系包做出了贡献,以帮助减少它们在磁盘上的文件大小,并更好地了解依赖对我们的包大小的影响。 更多的去考虑添加一个依赖库的利弊
  我在前面提到,人们把  git diff  中显示的大量的依赖库的代码看作是在版本控制中添加依赖关系的一个缺点,我也承认这可能是这种方法的一个缺点,但我发现展示依赖库的代码也是有好处的。添加一个额外的依赖项是因为我不想自己编写几行代码,这是我过去经常做的事情。但现在我考虑得更多,因为我可以看到正在增加的代码,并且可以反思这是否值得。
  注意:这并不意味着我们不要用第三方依赖关系!有些时候,增加一个依赖关系是值得的。但在版本控制中看到增加的代码使我对这样做有更多的考虑--成本不再是不可见的的。  大的差异也是可以被管理的
  不能回避这样一个事实,即如果一个开发人员在修改中增加了一个新的依赖关系,在差异中可能会有很多代码。我们检查的一个依赖项是  TypeScript ,每次我们更新时,git diff  都很庞大,坦率地说这不值得看(除了CHANGELOG)。我们想出了一个规则来帮助我们:一个更新 node_modules  的改动不能触及代码库中的任何其他代码。因此,如果我用最新的版本更新 node_modules/typescript  ,如果node_modules 之外的任何其他文件夹被改变,我就会被我们的工具警告。
  这条规则在大多数时候对我们很有用,因为任何依赖于新的或更新的依赖关系的工作都可以分成两个步骤:
  •更新依赖关系
  •在代码中使用该依赖关系
  有些时候这并不奏效;更新  TypeScript  可能需要我们更新一些代码来修复新版TypeScript 与当前代码不兼容的一些错误。在这种情况下,我们就不需要遵守该规则。
  就像软件工程中的任何事情一样,大多数 "规则 "都是指导方针,我们能够在需要时绕过它们。  防止另一个 left-pad 事件
  臭名昭著的 left-pad 事件,即一个流行的npm包突然从版本库中删除,导致各地的构建中断,这不会影响到一个将所有的依赖关系都添加到 git 仓库中的团队。虽然他们仍然需要处理 "我们该如何处理这个不受支持的依赖" 的长期影响,但在短期内,他们的构建不会中断,也不会影响他们发布新功能。  总结
  如果我创建一个新的代码库,或者加入一个刚刚开始第一个版本的小公司,我会强烈主张将 node_modules 加入到版本控制中。虽然这需要一些时间来适应,但根据我过去两年的工作经验,我上面列出的好处远远超过了这样做的缺点。  引用链接
  [1] Why you should check-in your node dependencies:  https://www.jackfranklin.co.uk/blog/check-in-your-node-dependencies/

10月26日,美国接连遭遇4条坏消息,局势变了多事之秋,国际风云变幻!10月26日,世界各国加速演进,以色列拒绝白宫,美法德等10国认怂,美军在叙利亚被拦截美国迎来4条坏消息,意味着拜登遭遇多重挑战。首先聊聊第一件事,以色列对老镜头拍北京日本超级Takumar552镜头索尼微单实拍798艺术区继续我的镜头实拍,今天登场的这枚日本宾得Pentax公司生产的M42口SuperTakumar552镜头,实拍的地点依然是色彩相对丰富的北京798艺术区。798艺术区,原为国营79蔡司高端系列产品中的低端机ZeissIkonta5202折叠皮腔相机今天介绍的这款ZeissIkonIkonta5202,是德国蔡司ZeissIkon公司于192937年间生产的一款折叠皮腔照相机,同时也是Ikonta系列折叠相机中的第一款。说到德可换镜头和取景器的MirandaD单反照相机!日本制造自从买了第一台日本Miranda品牌的单反之后,对这个品牌的早期产品的喜爱程度不断攀升,颇有些欲罢不能的感觉,陆陆续续地买了多台!因印象中应该是除了MirandaC之外,早期的型号黑白调日本佳能Canon1002镜头索尼微单实拍雨中圆明园10。1国庆小长假期间,北京基本都在下雨!话说今年北京的雨水真是不少!最后实在耐不住了,最终决定10。6日趁着早晨的雨暂停的空挡去圆明园继续我的镜头实拍。没想到还没到圆明园,海淀区烟草行业要变天?新巨头即将到位,香烟价格会如何变化?引言根据国家有关部门的相关数据统计结果来看,我国的烟草行业收益简直可以用暴利来形容。不过一直以来这一行业都是由国家管控的,各类型的民营企业都没有资格生产和销售。最近,中国邮政或加入三星S22Ultra设计曝光!或整合Note的功能,将会内置SPen日前多个爆料均指出三星GalaxyS22Ultra将会采用Note设计,日前就有媒体提供渲染图。根据外媒OnLeaks报导,Samsung新一代旗舰将不会再采用与边框一体化的设计,一部到位,亮点满载vivoT1强悍性能持久续航正式上场!真香之前预热已久的真香新机vivoT1,如今终于正式上场了,该机定位仅仅2K,非常亲民!不过呢可别小瞧了vivoT1,该机的软硬件水准可是高端级别,每一个参数都是亮点满满,也非常符合官10月安卓机性能榜iQOOZ5拿下中端第一!小米荣耀均在其后手机市场分为多个维度,大致可归类为旗舰高端系列,亲民的中端实用系列,还有入门系列的机型,其中通常旗舰机型会搭载当年最先进的科技,在各个方面的完成度也是比较高的,不管是性能还是说设计很少见的AltissaBox200盒式照相机!德国制造盒式照相机(BoxCamera),虽然功能都比较简单,但作为照相机的一种,在相机发展史上还是有自己的一席之地的。我手里的盒式相机不多,但今天介绍的这款德国EhoAltissa公司在一台鸡肋相机日本制造的KowaSE单反照相机因为喜欢其机身编号,所以最近收了一台日本制造的KowaSE单反照相机。没成想到手后,却发现机身有明显的磕碰,成了食之无肉弃之有味的鸡肋,很是郁闷!前一段时间在网上瞎溜达的时候,看到
保时捷Macan领衔,成都车展重磅首发新车都在这里成都车展明天就正式开幕了,今天就给大家提前烘托下热度,盘点一下最值得期待的重磅新车,每一款都是经典,话不多说,一起来看看吧!保时捷Macan期待指数售价55。484。8万全新Mac卖得好也是错,印度以反垄断为由处罚铃木2700万美元近日,汽车界出现了一则奇闻,印度竞争委员会针对日本铃木在印度玛鲁蒂铃木子公司开出了20亿卢比的天价罚款,有可能大家对这个卢比的概念非常模糊,换算成美元的话约合2700万美元,罚款原最强纯电SUV即将来袭,保时捷纯电Macan原来可以这么强都知道未来是新能源汽车的天下,大众本田丰田现代等全球知名车企都开始往电气化转型,而跑车也是如此,保时捷法拉利兰博基尼都推出了各自的混动车型,而保时捷更是直接推出了Taycan,用来保时捷Macan与路特斯Type132的爱恨情仇,谁才能笑到最后?都知道保时捷法拉利兰博基尼是跑车界的标杆,是无数人心中的DreamCar,而作为全球三大跑车制造商之一的路特斯,从踏入国内市场以来,就跟保时捷明争暗斗,而路特斯被吉利收购后更是异军新车一波接一波,盘点9月份不能错过的重磅新车不知不觉今年已经过去大半,今天就给大家盘点九月份即将上市的重磅新车,每一款都是明星车型,话不多说,让我们先睹为快吧!哈弗H9上市时间9月10日首当其冲的就是哈弗H9,哈弗可以说是将嫌医院太贵,单身妈妈网购精子和受精工具包DIY怀孕生女这下真的可以跟孩子说你是我网购来的了。英国一位单身母亲,因为想再要一个孩子,但是又觉得恋爱太麻烦,医院人工授精太贵,所以在网上购买了精子工具包,自己给自己进行了人工授精,成功怀孕并最爱妈妈菜篇一薄皮大馅儿水煎包对于我们中国人来说,不论走到哪里,最想念的一定是一口家乡味。放假回了家嘛,每天都缠着妈妈做好吃的,正好也快过年啦,本系列就来跟大家分享一些我喜欢私家小菜。先来看看今天的主角水煎包,不务正业!好好的电视不做,非要做中型纯电SUV,靠谱吗?提起创维,首先想到的就是电视!没错,作为国内的家电巨头之一,创维在其领域有着不小的成就。不过,不务正业的创维也开始造车了,就在今年7月份创维汽车旗下的首款纯电动中型SUV创维汽车E这件599元的西装,我给1000元的赞收到这次评测的码尚口袋单西装,我根本顾不上拍包装盒和开箱过程,直接打开就穿上身。为什么这么急?因为西服最重要是合身,又号称是轻定制(虽然评测是选尺码没有定制过程),一试之后感觉还好光污染二期之我的桌面超多图文,带你看完DeskSetup2020年,Homeoffice的时间增多,虽然之前的桌面经过长期整理已经比较满意,但白色的主基调看久了开始审美无力。因此决定对桌面来个更新,主要的原则有三点1。黑化2。加强照明3装上生产力,取下爱奇艺11寸IpadPRO2020妙控键盘香不香?4月20日,我在APPLE官网购买的11寸IpadPRO2020妙控键盘顺利收到,使用一天后,我对这个可能是APPLE今年定价最有争议的东东有了一些新的认识现在就大家最关心的几个问