## 什么是npm **npm(node package manager)——node的包管理器**。它使`JavaScript`开发者分享和重用代码更简单,更新已分享的模块也更容易。 >npm makes it easy for JavaScript developers to share and reuse code, and it makes it easy to update the code that you're sharing. ### npm是干什么的 在实际开发中,开发者遇到的问题很多都有共性,比如,很多开发者经常用到MD5加密,有经验的开发者就会封装一个MD5模块,然后共享给其他人使用,这样就可以避免重复造轮子,大大提高效率。但是,单个开发者的影响力有限,这个MD5模块传播的范围将很有限。如果有一个有影响力的、众所周知的、运营良好的社区可以让开发者共享代码,上面的问题不就解决了?npm正是在这种想法下诞生的,它就是这样一个社区。 对于npm的形成和发展有兴趣的朋友可以阅读这一篇文章——[npm是干什么的?](https://zhuanlan.zhihu.com/p/24357770) ### npm的使用场景 1.在自己开发的工程中引入第三方模块(可以在npm官网搜索) >Tips: [npm常用指令](313177)一小节的npm install将详细如何安装第三方模块,(在[手把手教你写Hello Node](313184)一小节将教你如何使用第三方模块 2.封装属于自己内部的私有模块,供自己使用或者供公司的团队使用