首页 > 专栏 > 前端 > 文章详情
Node.js 笔记 - 第八节 - npm 的基本使用(★) 发布于:2021-02-16 22:30:21   原创发表   查看:8  讨论:0
一、npm的安装。NMZ易塔云建站-模板下载,web开发资源,技术博客
NMZ易塔云建站-模板下载,web开发资源,技术博客
npm是一个全世界范围内模块的分享社区,我们可以免费使用这个社区内别人开发的模块。NMZ易塔云建站-模板下载,web开发资源,技术博客
我们只关心怎么使用,不用关心如何封装的,因为他们在封装的时候也有可能在引入其他的模块。NMZ易塔云建站-模板下载,web开发资源,技术博客
NMZ易塔云建站-模板下载,web开发资源,技术博客
社区地址:https://www.npmjs.com/NMZ易塔云建站-模板下载,web开发资源,技术博客
我们进入网站后页面。NMZ易塔云建站-模板下载,web开发资源,技术博客
NMZ易塔云建站-模板下载,web开发资源,技术博客
Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe.NMZ易塔云建站-模板下载,web开发资源,技术博客
全世界有超过1100万的开发人员依靠它,npm致力于使JavaScript开发变得优雅、高效和安全。NMZ易塔云建站-模板下载,web开发资源,技术博客
NMZ易塔云建站-模板下载,web开发资源,技术博客
如何使用,我们只需要再搜索框内部查询你需要模块的关键字。NMZ易塔云建站-模板下载,web开发资源,技术博客
比如我们想让1234567智能转换为大写的,我们就可以搜“大写”。NMZ易塔云建站-模板下载,web开发资源,技术博客
NMZ易塔云建站-模板下载,web开发资源,技术博客
因为我们在安装NodeJS的时候已经帮我们安装了npm包管理器了,所以我们就可以直接使用了;NMZ易塔云建站-模板下载,web开发资源,技术博客
比如我们找到了一个nzh的模块,此时我们需要使用npm命令进行安装npm install。NMZ易塔云建站-模板下载,web开发资源,技术博客
npm install nzhNMZ易塔云建站-模板下载,web开发资源,技术博客
此时参考提供的API进行使用。NMZ易塔云建站-模板下载,web开发资源,技术博客
NMZ易塔云建站-模板下载,web开发资源,技术博客
NMZ易塔云建站-模板下载,web开发资源,技术博客
var nzh = require("nzh");NMZ易塔云建站-模板下载,web开发资源,技术博客
console.log(nzh.hk.toMoney("12345678910"));NMZ易塔云建站-模板下载,web开发资源,技术博客
console.log(nzh.cn.toMoney("12345678910"));NMZ易塔云建站-模板下载,web开发资源,技术博客
console.log(nzh.cn.encodeS("12345678910"));NMZ易塔云建站-模板下载,web开发资源,技术博客
NMZ易塔云建站-模板下载,web开发资源,技术博客
二、日期转换小案例。NMZ易塔云建站-模板下载,web开发资源,技术博客
NMZ易塔云建站-模板下载,web开发资源,技术博客
我们想根据路由地址去获取参数从而进行日期的显示。NMZ易塔云建站-模板下载,web开发资源,技术博客
比如路由地址是2021/05/11,此时返回的结果是:庚子年辛巳月甲寅日。
var http = require("http");NMZ易塔云建站-模板下载,web开发资源,技术博客
var fs = require("fs");NMZ易塔云建站-模板下载,web开发资源,技术博客
var solarLunar = require("solarLunar");NMZ易塔云建站-模板下载,web开发资源,技术博客
var server = http.createServer(function(req,res){NMZ易塔云建站-模板下载,web开发资源,技术博客
  // 设置字符集NMZ易塔云建站-模板下载,web开发资源,技术博客
  res.setHeader("Content-Type","text/html;charset=UTF8");NMZ易塔云建站-模板下载,web开发资源,技术博客
  // 得到用户的urlNMZ易塔云建站-模板下载,web开发资源,技术博客
  var url = req.url;NMZ易塔云建站-模板下载,web开发资源,技术博客
  // 使用正则表达式进行信息的获取NMZ易塔云建站-模板下载,web开发资源,技术博客
  var arr = url.match(/\/(.+)\/(.+)\/(.+)$/);NMZ易塔云建站-模板下载,web开发资源,技术博客
  console.log(arr)NMZ易塔云建站-模板下载,web开发资源,技术博客
  // 如果没有对应的路由地址,抛出错误NMZ易塔云建站-模板下载,web开发资源,技术博客
  if(!arr) {NMZ易塔云建站-模板下载,web开发资源,技术博客
    res.end("<h1>无页面显示</h1>")NMZ易塔云建站-模板下载,web开发资源,技术博客
    return;NMZ易塔云建站-模板下载,web开发资源,技术博客
  }NMZ易塔云建站-模板下载,web开发资源,技术博客
  // 获取信息NMZ易塔云建站-模板下载,web开发资源,技术博客
  // 正则的第一项NMZ易塔云建站-模板下载,web开发资源,技术博客
  var $1 = arr[1];NMZ易塔云建站-模板下载,web开发资源,技术博客
  // 正则的第二项NMZ易塔云建站-模板下载,web开发资源,技术博客
  var $2 = arr[2]NMZ易塔云建站-模板下载,web开发资源,技术博客
  // 正则的第二项NMZ易塔云建站-模板下载,web开发资源,技术博客
  var $3 = arr[3]NMZ易塔云建站-模板下载,web开发资源,技术博客
  var gl = solarLunar.solar2lunar($1,$2,$3);NMZ易塔云建站-模板下载,web开发资源,技术博客
  var nl = solarLunar.lunar2solar($1,$2,$3);NMZ易塔云建站-模板下载,web开发资源,技术博客
  console.log(nl)NMZ易塔云建站-模板下载,web开发资源,技术博客
  res.end("<h2>当前公历是:"+gl.gzYear+"年"+gl.gzMonth+"月"+gl.gzDay+"日</h2>")NMZ易塔云建站-模板下载,web开发资源,技术博客
})NMZ易塔云建站-模板下载,web开发资源,技术博客
server.listen(3000)
NMZ易塔云建站-模板下载,web开发资源,技术博客
三、npm的身份证和依赖。 我们从npm上下载的node_modules文件夹内容称之为“依赖”。NMZ易塔云建站-模板下载,web开发资源,技术博客
NMZ易塔云建站-模板下载,web开发资源,技术博客
我们可以使用package.json去管理这些依赖,此时我们就需要创建自己的身份证。使用npm初始化:NMZ易塔云建站-模板下载,web开发资源,技术博客
npm initNMZ易塔云建站-模板下载,web开发资源,技术博客
NMZ易塔云建站-模板下载,web开发资源,技术博客
此时会填写一些表单信息包括你的名字、版本号、描述、入口文件、测试命令、git仓库、关键词、作者、版权协议。NMZ易塔云建站-模板下载,web开发资源,技术博客
可以按需回答,也可以什么都不输入直接回车。此时就完成了创建。NMZ易塔云建站-模板下载,web开发资源,技术博客
NMZ易塔云建站-模板下载,web开发资源,技术博客
package.json内容:
NMZ易塔云建站-模板下载,web开发资源,技术博客
  "name": "mashibing",NMZ易塔云建站-模板下载,web开发资源,技术博客
  "version": "1.0.0",NMZ易塔云建站-模板下载,web开发资源,技术博客
  "description": "马士兵教育",NMZ易塔云建站-模板下载,web开发资源,技术博客
  "main": "app.js",NMZ易塔云建站-模板下载,web开发资源,技术博客
  "scripts": {NMZ易塔云建站-模板下载,web开发资源,技术博客
    "test": "echo \"Error: no test specified\" && exit 1"NMZ易塔云建站-模板下载,web开发资源,技术博客
  },NMZ易塔云建站-模板下载,web开发资源,技术博客
  "keywords": [NMZ易塔云建站-模板下载,web开发资源,技术博客
    "马士兵,NodeJS"NMZ易塔云建站-模板下载,web开发资源,技术博客
  ],NMZ易塔云建站-模板下载,web开发资源,技术博客
  "author": "马士兵",NMZ易塔云建站-模板下载,web开发资源,技术博客
  "license": "ISC"NMZ易塔云建站-模板下载,web开发资源,技术博客
}
有了这个身份证之后,以后安装依赖的时候需要加 --saveNMZ易塔云建站-模板下载,web开发资源,技术博客
比如我们安装nzh模块:npm install --save nzhNMZ易塔云建站-模板下载,web开发资源,技术博客
再看身份证内容变更为:
{NMZ易塔云建站-模板下载,web开发资源,技术博客
  "name": "mashibing",NMZ易塔云建站-模板下载,web开发资源,技术博客
  "version": "1.0.0",NMZ易塔云建站-模板下载,web开发资源,技术博客
  "description": "马士兵教育",NMZ易塔云建站-模板下载,web开发资源,技术博客
  "main": "app.js",NMZ易塔云建站-模板下载,web开发资源,技术博客
  "scripts": {NMZ易塔云建站-模板下载,web开发资源,技术博客
    "test": "echo \"Error: no test specified\" && exit 1"NMZ易塔云建站-模板下载,web开发资源,技术博客
  },NMZ易塔云建站-模板下载,web开发资源,技术博客
  "keywords": [NMZ易塔云建站-模板下载,web开发资源,技术博客
    "马士兵,NodeJS"NMZ易塔云建站-模板下载,web开发资源,技术博客
  ],NMZ易塔云建站-模板下载,web开发资源,技术博客
  "author": "马士兵",NMZ易塔云建站-模板下载,web开发资源,技术博客
  "license": "ISC",NMZ易塔云建站-模板下载,web开发资源,技术博客
  "dependencies": {NMZ易塔云建站-模板下载,web开发资源,技术博客
    "nzh": "^1.0.4"NMZ易塔云建站-模板下载,web开发资源,技术博客
  }NMZ易塔云建站-模板下载,web开发资源,技术博客
}
为什么要这样做?我们知道node_modules都是相互依赖的,所以如果引入的模块特别多,此时如果进行物理文件传输的时候会造成特别大,特别碎的文件内容,可以不传这个node_modules文件夹,只传身份证;所以一定要用身份证保存,下一次进行使用的之前,重新安装。NMZ易塔云建站-模板下载,web开发资源,技术博客
NMZ易塔云建站-模板下载,web开发资源,技术博客
对方拿到json文化后,只要对对应的package.json目录下输入:

npm installNMZ易塔云建站-模板下载,web开发资源,技术博客

NMZ易塔云建站-模板下载,web开发资源,技术博客
此时NodeJS和npm就会检索对应目录下面的package.json文件内部的dependencies的依赖项然后进行安装。

评论

  • 匿名