一、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文件夹内容称之为“依赖”。
我们可以使用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的依赖项然后进行安装。
