繁体   English   中英

我们是否需要在bitbucket上推送node_modules

[英]Do we need to push node_modules on bitbucket

在bitbucket上推送angular2应用程序时,我们是否还需要同时推送node_modules和types文件夹? 我必须将应用程序置于天蓝色。 据我从各种文章中了解到,当我们在Azure上进行部署时,它将运行npm自行安装,因此会创建node_modules和types文件夹。 请分享。

您无需在项目中推送node_modules文件夹。 如果您在package.json中的依赖项中声明了它,那么克隆您的项目并运行npm install都会下载正确的东西。 声明为package.json的简单方法是在安装时使用--save

例如 npm install bootstrap --save

根据Azure的文档

Azure云服务希望所有模块都安装在开发环境中,并且node_modules目录将作为部署包的一部分包含在内。 可以启用在Cloud Services上使用package.json或npm-shrinkwrap.json文件安装模块的支持,但是这需要自定义Cloud Service项目使用的默认脚本。 有关如何完成此操作的示例,请参阅Azure启动任务以运行npm install以避免部署节点模块

他们还扩展了这个问题:

当将node_modules目录部署为应用程序的一部分时,与使用package.json或npm-shrinkwrap.json文件相比,它将增加部署的大小; 但是,它可以确保生产中使用的模块版本与开发中使用的模块版本相同。

在代码管理方面, 相互矛盾的 立场是否node_modules文件夹应该或不应该提交到版本控制。 我可以说的是, 左派事件发生后,越来越多的人趋向于“应承诺”的方向,其中包括我自己。

如果您想沿着这条路,我建议你先看看这两个拆封 ,它锁定你的依赖本身依赖于包的版本,并shrinkpack节省了实际的软件包为.tar避免嘈杂提交更改。

不, node_modulestypings文件夹,不需要推。 npm install会将依赖项安装到这些文件夹中。

最佳做法-不要将node_modules推送到git信息库。

为避免依赖关系出现问题,请使用诸如wrapwrap之类的模块(该模块可锁定软件包依赖关系的版本)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM