npm init
npm init 初始化当前目录为一个npm模块,逐步询问并确认信息后生成一个 package.json 文件npm init -y 直接生成 package.json 文件
package.json 文件描述:http://package.json.is/
npm install
npm install == npm i == npm add
npm install 安装包
package(包)
- a. 包含文件描述的程序的 package.json文件夹
- b. 包含 a的压缩tarball
- c. 解析为 b的网址
- d. <name>@<version>在npm-registry(c)的注册表中发布的a
- e. 指向 d的a<name>@<tag>(参见npm-dist-tag)
- f. <name>具有满足e的“最新”标签的a
- g. <git remote url>解析为a的a
即使从未发布过软件包,如果只想编写一个节点程序 a,或者如果还希望能够在打包后将其轻松安装到其他地方,使用npm仍然可以获得很多好处。放入压缩档 b。
- npm install- 将安装依赖到当前目录的 - node_modules文件夹中。全局模式下(带- -g、- --global参数),它将当前程序包上下文(即,当前工作目录)安装为全局程序包。
 默认安装- package.json文件中的列为依赖项的所有模块,带参数- --production将不安装- devDependencies依赖
- npm install [<@scope>/]<name>- 进行 - <name>@<tag>安装,- <tag>“标签”配置在哪里。(请参阅 npm-config。配置的默认值为latest。)
 在大多数情况下,这将安装latest在npm注册表上标记为的模块的版本 。- 例: - npm install sax- npm install dependencies默认将所有指定的软件包保存到其中。此外,可以使用一些其他标志来控制在何处以及如何保存它们:- -P, --save-prod:包将出现在 dependencies 中。这是默认设置,除非-D或-O存在。 -D, --save-dev:包将出现在 devDependencies 中。 -O, --save-optional:包将出现在 optionalDependencies 中。 --no-save:防止保存到 dependencies。- 使用上述任何选项将依赖项保存到 - package.json时,还有两个附加的可选标志:- -E, --save-exact 注意:保存的依赖项将使用确切的版本配置,而不是使用npm的默认 semver range 运算符。 -B, --save-bundle:保存的依赖项也将添加到 bundleDependencies 列表中。
- npm install [<@scope>/]<name>@<tag>- 安装指定标签引用的软件包的版本。如果该程序包的注册表数据中不存在该标记,则此操作将失败。 - 例: - npm install sax@latest npm install @myorg/mypackage@latest
- npm install [<@scope>/]<name>@<version>- 安装指定版本的软件包。如果该版本尚未发布到注册表,则将失败。 - 例: - npm install sax@0.1.1 npm install @myorg/privatepackage@1.5.0
- npm install [<@scope>/]<name>@<version range>- 安装与指定版本范围匹配的软件包版本。这将遵循解决依赖性的相同规则 - package.json。
 请注意,大多数版本范围必须用引号引起来,以便您的外壳将其视为单个参数。
 例:- npm install sax@">=0.1.0 <0.2.0" npm install @myorg/privatepackage@">=0.1.0 <0.2.0"
- npm install <git-host>:<git-user>/<repo-name>
- npm install <git repo url>
- npm install <tarball file>- 安装位于文件系统上的软件包。注意:如果只想将dev目录链接到npm根目录,则可以使用来更轻松地做到这一点npm link 
 Tarball要求:- 文件名必须使用 .tar, .tar.gz 或 .tgz 作为扩展名。 包装内容应位于tarball的子文件夹中(通常称为package/)。安装软件包时,npm会剥离一个目录层(相当于tar x --strip-components=1运行)。 程序包必须包含package.json具有name和version属性的文件。- 例: - npm install ./package.tgz
- npm install <tarball url>- 提取tarball网址,然后安装它。为了区分此选项和其他选项,参数必须以 - http://或- https://开头- 例: - npm install https://github.com/indexzero/forever/tarball/v0.5.6
- npm install <folder>- 将软件包作为当前项目中的符号链接安装在目录中。它的依赖项将在链接之前安装。如果 - <folder>位于项目的根目录下,则其依赖关系可能会node_modules像其他类型的依赖关系一样被提升到顶层。
npm install 参数
npm install xxx --global == npm install xxx -g
npm install xxx --production
npm install xxx --save
自动把模块和版本号添加到dependencies部分npm install xxx --save-dev == npm install xxx -D
自动把模块和版本号添加到devdependencies部分npm install xxx --save-prod == npm install xxx -P
默认,自动把模块和版本号添加到dependencies部分npm install xxx --save-optional == npm install xxx -O
npm install xxx --save-exact == npm install xxx -E
npm install xxx --save-bundle == npm install xxx -B
npm install xxx --no-save
阻止把模块和版本号添加到dependencies部分npm install xxx --dry-run
npm run
npm run <scripts name>
执行 package.json 文件 scripts 块中指定名称的命令
如 package.json 文件:
1
2
3
4
5
{
    "scripts": {
        "dev": "node a.js"
    }
}
执行 npm run dev 命令,和执行 node a.js 是一样的
npm clean-install
清空已安装模块
npm rebuild
重建所有模块
npm test
与 npm run test 一样
npm start
与 npm run start 一样
npm stop
与 npm run stop 一样
npm publish
发布模块到社区
npm search
寻找模块
npm version
npm及相关模块版本信息
npm uninstall
npm uninstall <name> 移除指定模块
