转载

NPM

CommonJS 的包规范的定义:它由包结构和包描述文件两部分组成,包结构用于组织包中的各种文件,包描述用于描述包的相关信息。

包结构

package.json :包描述文件

bin :用于存放可执行二进制代码的目录

lib :用于存放 JavaScript 代码的目录

doc :用于存放文档的目录

test :用于存放单元测试用例的代码

包描述文件

CommonJS 为 package.json 文件定义了如下一些必须的字段

name :由小写字母和数字组成,可以包含 . 、 _ 和 -,但是不允许出现空格。

description :简介

version :版本号

keywords :关键词数组

maintainers :包维护者列表 [{ ...msg }]

contributors :贡献者列表

bugs :一个可以反馈 bug 的邮箱或者网页地址

licenses :许可证列表,表示这个包可以在哪些许可证下使用

repositories :托管源代码的地址

dependencies :依赖的包列表

homepage :包的网站地址

os :操作系统支持列表

engine :支持的 JavaScript 引擎列表

builtin :是否是内建在底层系统的标准组件

directories :包目录说明

implements :实现规范的列表

scripts :脚本说明对象

在包的描述文件规范中,NPM 实际需要的字段主要有 nameversiondescriptionkeywords
repositoriesauthorbinmainscriptsenginesdependenciesdevDependencies

与包规范的区别是多了 authorbinmaindevDependencies 这四个字段

author :包作者

bin :包可以作为命令行工具使用

main :在模块引入的时候会先检查这个字段作为入口

devDependencies :只在开发阶段依赖的包

NPM 常用功能

NPM 帮助完成第三方模块的发布、安装和依赖。

安装依赖包

npm install express

上面这行命令执行后,NPM 会在当前目录下创建 node_modules 目录,然后在 node_modules 目录下创建 express 目录,接着将包解压到这个目录下

全局模式安装

-g 就是将一个包安装为全局可用的可执行命令,通过 -g 安装的包都被安装进了统一一个目录下,就是 Node 可执行文件的位置。

从本地安装

将包下载到本地,在本地安装只需要为 NPM 指明 package.json 文件的地址即可

  • 一个包含 package.json 的存档文件
  • 一个 URL 地址
  • 一个目录位置,它下面有 package.json 文件

从非官方源安装

npm install express --registry=http://registry.url

NPM 钩子命令

"scripts": {
 "preinstall": "preinstall.js",
 "install": "install.js",
 "uninstall": "uninstall.js",
 "test": "test.js"
}

发布包

编写模块

编写一个包,将其发布到 NPM 库当中,并通过 NPM 安装取回本地。

// hello.js
exports.sayHello = function(){
 return 'hello world!'
}

初始化包描述文件

npm inti

注册包仓库账号

npm adduser

上传包

npm publish .

这个过程中,NPM 会将目录打包为一个存档文件,然后上传到官方源仓库中

包权限管理

管理有权限发布包的人

npm owner ls <package name>
npm owner add <user> <package name>
npm owner rm <user> <package name>
原文  http://mertensming.github.io/2017/01/14/npm/
正文到此结束
Loading...