Node.js 笔记 - 第八节 - npm 的基本使用(★)

一、npm的安装。

npm是一个全世界范围内模块的分享社区,我们可以免费使用这个社区内别人开发的模块。
我们只关心怎么使用,不用关心如何封装的,因为他们在封装的时候也有可能在引入其他的模块。

社区地址:https://www.npmjs.com/
我们进入网站后页面。

Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe.
全世界有超过1100万的开发人员依靠它,npm致力于使JavaScript开发变得优雅、高效和安全。

如何使用,我们只需要再搜索框内部查询你需要模块的关键字。
比如我们想让1234567智能转换为大写的,我们就可以搜“大写”。

因为我们在安装NodeJS的时候已经帮我们安装了npm包管理器了,所以我们就可以直接使用了;
比如我们找到了一个nzh的模块,此时我们需要使用npm命令进行安装npm install。
npm install nzh
此时参考提供的API进行使用。


var nzh = require("nzh");
console.log(nzh.hk.toMoney("12345678910"));
console.log(nzh.cn.toMoney("12345678910"));
console.log(nzh.cn.encodeS("12345678910"));

二、日期转换小案例。

我们想根据路由地址去获取参数从而进行日期的显示。
比如路由地址是2021/05/11,此时返回的结果是:庚子年辛巳月甲寅日。

var http = require("http");
var fs = require("fs");
var solarLunar = require("solarLunar");
var server = http.createServer(function(req,res){
  // 设置字符集
  res.setHeader("Content-Type","text/html;charset=UTF8");
  // 得到用户的url
  var url = req.url;
  // 使用正则表达式进行信息的获取
  var arr = url.match(/\/(.+)\/(.+)\/(.+)$/);
  console.log(arr)
  // 如果没有对应的路由地址,抛出错误
  if(!arr) {
    res.end("<h1>无页面显示</h1>")
    return;
  }
  // 获取信息
  // 正则的第一项
  var $1 = arr[1];
  // 正则的第二项
  var $2 = arr[2]
  // 正则的第二项
  var $3 = arr[3]
  var gl = solarLunar.solar2lunar($1,$2,$3);
  var nl = solarLunar.lunar2solar($1,$2,$3);
  console.log(nl)
  res.end("<h2>当前公历是:"+gl.gzYear+"年"+gl.gzMonth+"月"+gl.gzDay+"日</h2>")
})
server.listen(3000)


三、npm的身份证和依赖。 我们从npm上下载的node_modules文件夹内容称之为&ldquo;依赖&rdquo;。

我们可以使用package.json去管理这些依赖,此时我们就需要创建自己的身份证。使用npm初始化:
npm init

此时会填写一些表单信息包括你的名字、版本号、描述、入口文件、测试命令、git仓库、关键词、作者、版权协议。
可以按需回答,也可以什么都不输入直接回车。此时就完成了创建。

package.json内容:


  "name": "mashibing",
  "version": "1.0.0",
  "description": "马士兵教育",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "马士兵,NodeJS"
  ],
  "author": "马士兵",
  "license": "ISC"
}

有了这个身份证之后,以后安装依赖的时候需要加 --save
比如我们安装nzh模块:npm install --save nzh
再看身份证内容变更为:

{
  "name": "mashibing",
  "version": "1.0.0",
  "description": "马士兵教育",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "马士兵,NodeJS"
  ],
  "author": "马士兵",
  "license": "ISC",
  "dependencies": {
    "nzh": "^1.0.4"
  }
}

为什么要这样做?我们知道node_modules都是相互依赖的,所以如果引入的模块特别多,此时如果进行物理文件传输的时候会造成特别大,特别碎的文件内容,可以不传这个node_modules文件夹,只传身份证;所以一定要用身份证保存,下一次进行使用的之前,重新安装。

对方拿到json文化后,只要对对应的package.json目录下输入:

npm install


此时NodeJS和npm就会检索对应目录下面的package.json文件内部的dependencies的依赖项然后进行安装。