node的npm

一、包的概念

包 package CommonJS的包规范允许我们***将一组相关的模块组合到一起***,形成一组完整的工具。CommonJS的包规范由包结构和包描述文件两个部分组成。

包结构:用于组织包中的各种文件。

包描述文件 :描述包的相关信息。

包实际上就是一个压缩文件,解压以后还原为目录。符合规范的目录,应该包含如下文件:

-package.json  描述文件  相当于包的简历 位于包的根目录下
目录
-bin  可执行的二进制文件
-lib  js代码
-doc   文档
-test 单元测试

pack.json中的字段有:name:包的标识符;version:版本;keywords:关键词(用于查询);licenses:协议;repositories:表示一个仓库;dependencies:生产依赖;devdependencies:开发依赖;os:操作系统…;

但是很多时候我们使用的包会有很多,这个时候就需要找一个东西来对包进行管理。

二、管理包器 NPM

  • 对于Node而言,NPM帮助其完成了第三方模块的发布,安装和依赖等。借助NPM,Node与第三方模块之间形成了很好的一个生态系统。这时候你需要什么包,都可以在npm中寻找。

  • 那么npm在哪里呢?npm相当于node赠送的一项服务,所以只要下载了node,npm就直接给你安装了。

  • npm initnpm初始化会创建一个package.json的文件。

  • 然后使用npm install Math安装这个包。而我们做过项目都知道,所有使用npm下载的包(文件夹)都放在了node_modules这个文件夹中。

  • 现在我们的node_module中有一个Math的包,想要在本地引入,怎么使用呢?

//例如创建了一个index.js的文件  引入
var math=require("math");
console.log(math);
//在终端执行运行命令  `node index.js`就会输出Math包中的内容
//使用包
console.log(math.add(10,11));//输出结果21
  • 除此之外,我们有时候会发现一种情况就是,比如我们下载的包只有一个,但是打开node_modules的不止有一个包,这是为什么呢?因为我们要下载的包可能会依赖于其他的包(简单来讲就是我自身不够用,需要借助其他的包来帮忙)。所以在下载这个包的时候,会顺带把这些包都给下载下来。

  • npm 的其他命令 。

    npm search:用来查询与关键词有关的包;

    npm remove:删除包;

    npm install Math --save:安装包并添加到生产依赖中(我们发现会在package.json的dependencies中多一条依赖的信息)。但是普通的下载,不会出现在package中;

    npm install 会根据package.json的配置信息来下载相应的包;

    npm install 包名 -g 全局安装包(全局安装的包一般都是一些工具:不用于项目,而是作用于计算机的);

三、cnpm

毕竟npm是老外的东西,服务器也是在遥远的国外,所以这时候使用’npm下载就会导致速度很慢。这时候npm的镜像服务器就诞生了。

镜像服务器就是从外国服务器上把内容下载到国内的服务器,然后下载的时候访问的就是国内服务器了。这样就解决了服务器繁忙速度慢的问题。

如何实现呢?请看下面

1.npm install -g cnpm --registry=https:?/registry.taobao.org 直接将连接国内的taobao服务器,这时候使用npm命令访问的就是taobao的服务器。

2.但是使用上面的这种方法会带来一个问题就是,以后使用npm命令就访问不到实际服务器了。所以还有一种方式就是重新使用一种指令,来访问taobao服务器。npm install -g cnpm --registry=https://registry.npm.taobao.org;

Node内部提供一个Module构建函数,所有的模块都是Module的实例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值