pekonchan
pekonchan
## 前言 上一篇 [npm入门(一)—了解基本组成与概念](https://juejin.im/post/5c765b5de51d453eec65973f) 简单介绍了一下npm的相关知识,这篇可以说是npm的核心知识。 ## 分类 关于pacakge,是有分为public pacakge(公共包)、private pacakge(私有包)。前面我们也知道npm账号也有两种,一直的免费用户,一个是付费用户。私有包是付费用户才能发布的。 直观地,在npn website上看,package前面会有个标签标注该包是公有的还是私有的  ### scopes 在此之前,我们先了解这么一个概念——scopes(中文意思是作用域)。我们在注册npm账号和创建组织时,你将被授予一个与你的用户或组织名称匹配的范围,即你获得了一个适用范围(scope),这个范围是你的用户名或者创建的组织名。你可以将此范围用作相关包的命名空间。如你有一个package名叫`mypackage`,你的用户名为`myusername`,则你可以把这个package放到你的域里 ``` @myusername/mypackage ``` 这样有什么作用呢? 1. 避免与别人的包重名,发生冲突。 2. 限制该包的访问权限。假设你是付费用户,想要创建一个私有包,那么可以在你的域里授权哪些用户才能访问 ### public package 默认地,如果我们不对registry进行了任何设置,那么发布的包就是基于默认的registry(`http://registry.npmjs.org `)的,发布出来的包是公共的,任何人都可以访问使用。 public...
## 前言 > npm作为开发的一个常用的工具,在使用的时候,当然可以得心应手,但是有时候真的问自己,到底有多了解这个常用的工具,其实也是觉得有点心虚,有种“只会用但不了解”的感受。当然这并不会影响我的开发和使用,但是总觉得不去认真梳理一下,有种罪恶感。 > 因此,就梳理一下自己的知识吧,大家要辩证地看待,我也是尽量负责任地描述正确的观点,如有误解,务必告诉鄙人,我也想学习更多了解更多 ## 简单知道npm npm,是node package manager的缩写,从名称上理解,node 包管理器。npm的背后,是有一个软件注册中心(registry,下面解释到),理解为一个数据库,详细记录了每个包(package)的信息,包括作者、版本、依赖、授权信息等。来自各个大陆的开源开发人员使用npm来共享和借用包,许多组织也使用npm来管理私有开发。 从作用上认识: > NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题。 > - 允许用户从NPM服务器下载别人编写的第三方包到本地使用。 > - 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。 > - 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。 如果我换种说法的话,就好像,你下载使用别人的类库,以及你自己封装类库上传给别人使用差不多吧 从官方上定义上理解,可以大体上从三部分去认识它: - the website -...