【笔记】node.js npm

160 阅读3分钟

【npm - npm package manager的主要用途】

  1. 让我们可以从npm社区下载别人封装好的第三方模块到本地使用:
  2. 让我们可以从npm社区下载并安装别人编写的命令行程序到本地使用;
  3. 让我们可以将自己编写的包或命令行程序上传到npm社区供别人使用。

【npm社区】www.npmjs.com

【node模块分类】

  1. 内置模块 - fs, path等;
  2. 自定义模块 - 用户自己封装的模块;
  3. 第三方模块 - 在npm社区中别人封装的模块。

【npm的使用方法】

(1) 怎样使用npm社区中的第三方模块

以md5模块为例(所用下载工具为淘宝npm镜像cnpm, 直接使用npm同理):
①创建项目身份证package.json文件;
      在命令窗口打开项目目录后输入指令“cnpm init”后回车,没加载一项信息查看是否需
  要填写,把需要填写的信息填写好后继续回车直至项目身份证信息都加载完毕后出现提问“Is    this OK?”最后回车确认。
      【package.json的作用】项目身份证package.json实际上是一个记录了项目所有信  
  息的文件,是项目的description,其作用是指导项目如何工作(描述项目,记录项目相关
  信息等)。记录项目依赖的npm第三方模块是package.json最重要的作用,当工作交接
  中需要删除或误删项目node_modules文件夹时,用户不需要重新逐个下载模块,只要
  在命令窗口项目目录下输入指令“cnpm install”即可恢复项目的node_modules文件夹。

②利用npm工具下载npm社区中的第三方模块;
      在命令窗口项目目录下输入下载指令“cnpm i --save nzh”。
      【--save字段的作用】在创建了项目身份证package.json的前提下,下载指令中写  
  入“--save”字段可以把该项目都下载使用了npm社区中的哪些模块记录到package.json文件
  中。
      如下图所示,所有项目中使用到的npm第三方模块都会被记录到package.json对象
  中的dependencies对象里。dependencies在这里是依赖的意思。

③使用下载回来的第三方模块;
      在npm社区模块页面有模块的API手册以及各种使用说明。例如nzh模块:

--------------------------------------------------------------------------- 
  【总结一下目前已经学到的比较典型的常用的npm第三方模块】:
  nzh -------------------- 阿拉伯数字转中文大小写、中文金额;
  md5 -------------------- 数据加密;
  chalk ------------------ 改变控制台字体颜色;
  pinying ---------------- 汉语拼音转换工具;
  solarlunar ------------- 农历-公历转换工具;
---------------------------------------------------------------------------

(2)怎样使用npm社区中的工具

    npm社区中除了上传有许多功能性第三方模块之外还有许多辅助开发的工具可以供我们使用。
  我们经常会运用到的【webpack】模块打包器其实就是npm社区中的一个工具。
  以下以另外一个npm社区中常用的工具【less】来举例体验如何下载及使用npm社区中的工具:
  【less是什么?】less是一门css预处理与言,它扩展了css语言,增加了变量、mixin、函数等特性,使css更容易维护和扩展。less可以在node平台或者浏览器端运行。
  从npm社区中下载less的指令是“cnpm install -g less”, 其中“-g”是全局安装的意思,“g”是“global”的缩写。通过npm社区下载时,以全局命令下载的一定不是功能性第三方模块,而是辅助开发的工具。全局安装的工具可以在cmd窗口中的任意目录下使用。
  【全局安装的工具统一存放路径】:
  C:\Program Files\nodejs\node_global\node_modules
  检验less是否安装成功:命令窗口lessc -v,输出版本号即安装成功

  less扩展了css但静态页面不能运行less文件,less工具还可以【将less文件转换成css文件】让用less编写的css样式得以在静态页面中运行: