在日常的制作中,有一些模块是经常会被使用的,这个时候就希望有一个定义好的第三方模块,可以供我们直接使用(类似 jQ 插件)
比如我写了一个加法的模块,自己用的话可以写的随心一点,但是如果我想把这个模块共享给大家,就必须将它处理规范以供方便使用。同样,如果他人共享的模块不规范,自己使用起来也会变得很不顺手,甚至繁琐
而“包”可以为我们的模块加一个包装,在规范的同时用起来更方便
【可以通俗的理解为一个文件夹】
_____________________________________________________________________________
CommonJS的包规范由包结构和包描述文件两部分组成
包结构:组织文件夹中的各种文件
包实际上就是一个压缩文件,解压后还原为目录
【其中必须包含一个 package.json(描述文件)】
其中可能还会包含以下文件
——lib 放着js的库
——doc 文档,这个包里提供了哪些方法怎么用
【区别于package.json,doc只是功能性的】
——bin 该里面的文件都是二进制文件,可以在系统中直接运行的
【一般情况下没有,除非里面装有工具】
包描述文件:该包的说明书
即 package.json ,位于包的根目录下,是包的重要组成部分
---------------------------------------------------------------------------------------------------------------------------------
第三方模块很好用,但是数量多了以后就需要被管理
这时候我们就可以用到Node.js下的 NPM
借助NPM,Node与第三方模块之间形成了一个良好的生态系统
它可以帮助我们快速找到和下载需要的包,也可以帮助我们发布自己的包
【可以自动识别当前下载的包是否还需要其他部分,并完成自动下载】
NPM在是下载Node.js时自带的
常见的NPM命令:
npm-v 查看版本
npm 帮助说明
如果没有 “Usage: npm 指令” 这种格式,或报错,则查看Node.js是否安装成功
npm search 包名 搜索模块包
【ps:该方法需要联网】
搜索出来后内容的划分从左至右依次为:
包名称,包说明,包作者,包的上一次更行日期,包版本,符合识别的关键字
---------------------------------------------------------------------------------------------------------------------------------
在搜索到想要的包后怎么安装到需要的目录下呢
首先该目录下必须有一个名为 package 的 json 文件
nmp init 创建 package.json
首先定义到目录下
第一个红框 npm init 为创建 json 文件
第二个红框是为它起名字
【(npm)这个是所在文件夹的名字,是询问你是否沿用这个名字,沿用的话直接回车,我这里起了新名字 hello_npm,自定义的名字不能含有大写字母】
第三个红框为你要为哪个js文件引入包,算是一个入口,默认情况下叫做 index.js
剩下的没有特殊情况就不需要调了,一直回车,直到出现 Is this OK? (yes) 后回车,就创建成功了
【如果对创建的 json 不满意,在(yes)后输入 no 就可重新创建】
打开新建的 json 文件
可以看到为它起的名字,设置的入口等信息
【个人认为在cmd中创建比在编译器或记事本中创建来的方便一点,不用写属性直接调值就好】
第一步:npm install 包名 --save 安装包并添加到依赖中
第二步:npm install/i 在当前目录安装包
可以看到已经成功引入了
【index.js是自己新建的】
打开 index.js 文件,引用并打印该模块
这里我调用其中的 add 函数
可以看到正常使用
npm remove/r 包名 删除一个模块
npm install 包名 -g 在全局模式安装包
【这里的全局安装的包一般都是一些用在系统的工具】(所以通常不用该方法)