【笔记整理】npm学习总结

 

博客开通以来第一篇文章!文笔有限,能用代码的尽量不多说,各位看官轻拍砖....

前言:

   前段时间因为想要研究一下http请求,在图灵买了小书,因为看到样例是用nodeJs写的,再加上之前就想了解下nodeJs,于是抡起袖子研究了一下...

   想研究nodeJs的同学推荐大家

  咳~切入正题,本篇文章主要总结下我了解到的npm相关的内容。

  1. 何为npm

    npm是Node Package Manager的缩写,用来管理node包安装、上传、更新等操作。👉官网   

  2.npm安装

     正常情况下,npm是随着node默认安装的,安装好node之后,命令行输入 
      
npm -v //查看版本

  3.npm注册

    npm发布自己的包之前需要先注册用户

    第一种方法是👉官网 注册账户 

    第二种方法是用命令

npm adduser   //添加用户

    根据提示输入用户名、密码、邮箱后,即可注册成功!

  4、npm安装包

    nodeJs里的包可以通过require实现外部包的引入 ,而 npm 可以自动管理包的依赖. 只需要安装你想要的包, 不必考虑这个包的依赖包.  

    nodeJs 的依赖是以项目为单位管理的,直接就安装在项目(所在目录)的 node_modules 目录下,而且每个依赖都可以有指定版本的其他依赖,这些依赖像一棵树一样。  

npm install <package>   //包名

    安装包的同时会创建package-lock.json,用以确定项目所用包的版本等信息,避免因版本出现错误。

  4.1 -g参数加与不加区别细说:

    1. 如果加参数 -g会安装到 /usr/local/lib/node_modules/下,不加即目(所在目录)的 node_modules 目录(Mac环境下)
    2. 加 -g安装的全局包不能在项目中直接引用,即不能直接require引入包,但是会自动注册到path里,而不加-g的不会注册path但是可以在项目里直接引入
    3. 加 -g全局安装包可以避免同一个包多次下载,但是可能会出现多个项目对同一个包版本需求不一致导致冲突
    4. 不加 -g局部安装包可以避免版本冲突问题,同时减少作者API兼容性带来的困难,但是同一个包可能会多次安装
    5. 但是可以通过npm link将全局包与局部包链接起来 
      npm link <package>  //项目中任意位置直接输入此命令,则将全局包引入项目
      
      npm link  <package> //必须在package.json所在目录执行,则可以将局部包添加到全局里 

     4.2安装不同版本

     可以通过如下命令安装不同版本的包      

npm install sax@latest   //最新
npm install sax@0.1.1   //指定版本
npm install sax@">=0.1.0 <0.2.0"   //范围内版本
npm install sax@"^0.1.0"  //向后兼容版本

  4.3 -save参数与 -save-dev参数区别

    npm install 直接执行默认会安装 dependencies 字段和 devDependencies 字段中的所有模块,如果使用 --production 参数,则只安装 dependencies 字段的模块

      –save:模块名将被添加到 dependencies,这个时说你在这个项目里用到了这个包,别人去安装你的包的时候会去 依赖里找这个依赖包

      –save-dev:模块名将被添加到 devDependencies
  4.4卸载包
npm uninstall //卸载自己本地的 

      5.查看/查询包信息

npm list  <package>  //查看项目里是否安装模块
npm info <package>  //查看模块具体信息,返回一个json
npm search <package> //查询npm库里的包信息

  6.初始化包

npm init             //生成package.json文件
npm init -y -f     //快速、强制生成文件    

  7.上传包

npm login       //登陆
npm publish     //发布所在项目包,之前必须登陆过,且包名必须是小写字母、数字、下划线
npm unpublish   //卸载发布的包

如果不知道哪个用户连接,可以用

npm whoami //查看当前登陆账户

        8.版本管理

npm version [patch/minor/major]   //z版本加1,y版本加1,x版本加1
   其中x.y.z 
    z小Bug y小新增 x大新增
    可以使用 > >= ~ ^ * 1.2.x 1 - 2符号表示版本
    ~ x y版本一致,z小版本不同
    ^ x版本一致,y z 版本不同
    但是尽量使用~,^跨版本太多,可能出现问题

 

   9.安装淘宝镜像cnpm:

npm install -g cnpm --registry=https://registry.npm.taobao.org

 

posted @ 2018-03-27 23:04  空知大仙人  阅读(767)  评论(0编辑  收藏  举报