Fork me on GitHub

npm 基础命令

 

npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准。有了npm,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。npm 从5.2版开始,增加了 npx 命令。请访问:npx使用教程

 

 

设置淘宝源
npm config set registry https://registry.npmmirror.com

 

检查是否更换成功
npm config get registry

 

--临时使用淘宝源安装包依赖
npm install --registry=https://registry.npmmirror.com

 

使用阿里定制的cnpm命令行 ,输入以下代码安装cnpm
npm install -g cnpm --registry=https://registry.npmmirror.com

 

 

npm install moduleNames:安装Node模块

安装完毕后会产生一个node_modules目录,其目录下就是安装的各个node模块。

node的安装分为全局模式和本地模式。
一般情况下会以本地模式运行(可以理解为当前项目运行),包会被安装到和你的应用程序代码的本地node_modules目录下,只能当前项目使用。
在全局模式下,Node包会被安装到当前电脑Node的安装目录下的node_modules下,在当前电脑任何目录都可以使用。

全局安装命令为 npm install -g moduleName 
获知使用 npm set global=true 来设定安装模式,不要尝试这个命令,(如果尝试了的话使用npm config ls来看一下global的设置以及文件,然后找到.npmrc这个文件的路径,删掉这个文件或者用vim编辑里面的global=true为false就行了。需要找.npmrc的。一个是全局配置,一个是用户配置。也就是userconfig对应的路径 一般是/Users/[你的用户]/.npmrc), npm get global 可以查看当前使用的安装模式。

示例:

npm install express 


默认会安装express的最新版本,不会修改package.json之后运行npm install命令时,不会自动安装express模块

 

npm install express@3.0.6

也可以通过在后面加版本号的方式安装指定版本

 

npm view express versions

可以查看express所以可以安装的版本

 

npm install <name> -g 

将包安装到全局环境中

但是代码中,直接通过require()的方式是没有办法调用全局安装的包的。全局的安装是供命令行使用的,就好像全局安装了vmarket后,就可以在命令行中直接运行vm命令

 

npm install <name> --save

安装的同时,将信息写入package.json的dependencies属性下,项目路径中如果有package.json文件时,直接使用npm install方法就可以根据dependencies(依赖项)配置安装所有的依赖包,这样代码提交到github时,就不用提交node_modules这个文件夹了。

之后运行npm install –production或者注明NODE_ENV变量值为production时,会自动安装msbuild到node_modules目录中

npm install <name> --save-dev

会把模块安装到node_modules目录中,在package.json的devDependencies(开发依赖项)属性下添加这个模块,之后运行npm install命令时,会自动安装这个模块到node_modules目录中,之后运行npm install –production或者注明NODE_ENV变量值为production时,不会自动安装X到node_modules目录中

devDependencies 节点下的模块是我们在开发时需要用的,比如项目中使用的 gulp ,压缩css、js的模块。这些模块在我们的项目部署后是不需要的,所以我们可以使用 -save-dev 的形式安装。像 express 这些模块是项目运行必备的,应该安装在 dependencies 节点下,所以我们应该使用 --save 的形式安装。

简单的说就是打包之后的生产环境包含--save的包,但是不会包含--save-dev的包

 


npm 的 i、-g、--save、--save-dev、-D、-S的区别
说明:
i 是 install 的简写
g 是全局安装,不带 -g 会安装在个人文件夹
S 与 –save 的简写,安装包信息会写入 dependencies 中
D 与 –save-dev 的简写,安装包写入 devDependencies 中


–save 与–save-dev

–save : dependencies 键下,发布后还需要依赖的模块,譬如像jQuery库或者Angular框架类似的,我们在开发完后后肯定还要依赖它们,否则就运行不了。

–save-dev : devDependencies 键下,开发时的依赖比如安装 js的压缩包gulp-uglify 因为我们在发布后用不到它,而只是在我们开发才用到它。
比如:写 ES6 代码,需要 babel 转换成 es5 ,转换完成后,我们只需要转换后的代码,上线的时候,直接把转换后的代码部署到生产环境,不需要 bebal 了,生产环境不需要。这就可以安装到 devDependencies ;
如果用 Element-UI,由于发布到生产后还是依赖 Element-UI,这就可以安装到 dependencies

比如:

{
 "dependencies": {
    "vue": "^2.2.1"
  },
  "devDependencies": {
    "babel-core": "^6.0.0",
    "webpack": "^2.2.0",
  }
}

  


1、 npm config list :查看环境变量

2、 npm view moduleNames :查看node模块的package.json文件夹
注意事项:如果想要查看package.json文件夹下某个标签的内容,可以使用 npm view moduleName labelName 

3、 npm list :查看当前目录下已安装的node包
注意事项:Node模块搜索是从代码执行的当前目录开始的,搜索结果取决于当前使用的目录中的node_modules下的内容。 npm list parseable=true 可以目录的形式来展现当前安装的所有node包

4、 npm help :查看帮助命令

5、 npm view moudleName dependencies :查看包的依赖关系

6、 npm view moduleName repository.url :查看包的源文件地址

7、 npm view moduleName engines :查看包所依赖的Node的版本

8、 npm help folders :查看npm使用的所有文件夹

9、 npm rebuild moduleName :用于更改包内容后进行重建

10、 npm outdated :检查包是否已经过时,此命令会列出所有已经过时的包,可以及时进行包的更新

11、 npm update moduleName :更新node模块

12、 npm uninstall moudleName :卸载node模块

13、一个npm包是包含了package.json的文件夹,package.json描述了这个文件夹的结构。访问npm的json文件夹的方法如下:
 npm help json  此命令会以默认的方式打开一个网页,如果更改了默认打开程序则可能不会以网页的形式打开。

14、 npm search packageName :发布一个npm包的时候,需要检验某个包名是否已存在

15、 npm init :会引导你创建一个package.json文件,包括名称、版本、作者这些信息等, 

 npm init -y 快速全部以默认的方式生成一个package.json ,-y是-yes的缩写

16、 npm root :查看当前包的安装路径
 npm root -g :查看全局的包的安装路径

17、 npm -v :查看npm安装的版本

18、 npm config ls  : 查看全局安装路径

19、 npm config set registry http://xxx.xxx.xxx :设置npm源

20、 npm config get registry :查看当前npm源

npm常用模块之nrm使用
更多node常用模块使用请访问:node常用模块汇总
nrm(npm registry manager )是npm的镜像源管理工具。

一、nrm操作
1、全局安装nrm
npm install nrm -g --save

2、nrm有自带默认配置,*为当前的配置
nrm ls

3、切换当前源地址
nrm use taobao

4、删除源地址
nrm del taobao

3、添加源地址
nrm add taobao https://registry.npmmirror.com

4、测试时间
nrm test npm

 

posted @ 2019-07-18 17:16  较瘦  阅读(546)  评论(0编辑  收藏  举报
知识点文章整理