啊,这个问题大佬就有话说了,当然欢迎在评论区留下你们的足迹。谢谢!
在这之前,我的先说一下node的模块化,什么是模块化?
大家小时候都玩过小霸王吧:
这是一个典型的模块化,我还记得我小时候玩的都是那种只有一款游戏的游戏机,没玩几天就腻了,想换游戏的话还要去买一个,多耗费钱,但这个小霸王就不一样,它有好多个游戏模块,一个游戏玩腻了就换个模块继续完,这样可玩性又高还省钱,我们问什么不玩呢?
所以模块化是非常的有必要,是编程的一个非常高明的手法,关于node中的模块,说白了就三:
1·内置模块(path、fs、http)
2·自定义模块:就是我们写的js文件
3·第三方模块,也叫做包,是由第三方开发的
内置和自定义是我们很清楚的,经常接触的,就在我们计算机上,第三方在网上,由于我们自定义模块繁琐,有内置模块功能太简单,所以我们要学会到网上去下载,那么如何下载:
1、进入网址:npm (npmjs.com)检索自己需要的包进行加载,里面的官网有基本用法:
2、就是利用我们的npm,它会到一个专门的服务器网址去下载,而我们只需要在cmd输入命令:
npm i 包名;就可以自动下载了:
好了,回归正题,我用npm是因为它真的很方便,下一个包只需要一行命令:
我们就拿格式化时间的案例来说吧:
这是我写的格式化时间的模块:
//1.1 创建一个格式化时间的函数
function formatTime(date){
const t = new Date()
//1.2 获取时间的年
const y = padzero(t.getFullYear())
//1.3 获取时间的月
const m = padzero(t.getMonth()+1)
//1.4 获取时间的天
const d = padzero(t.getDate())
//1.5 获取时间的时
const h = padzero(t.getHours())
//1.6 获取时间的分
const f = padzero(t.getMinutes())
//1.7 获取时间的秒
const s = padzero(t.getSeconds())
return y+'-'+m+'-'+d+' '+h+':'+f+':'+s
}
//2.1 创建一个补零函数
function padzero(n){
return n > 9? n:'0'+n
}
//3.1 向外输入格式转换函数
module.exports = {formatTime}
然而,npm直接下载一个moment模块,只需要一句话就可以替代我这个模块,我为什么不用呢?
//2.1 导入moment第三方包,该模块需要利用npm下在
const moment = require('moment')
const dt = new Date()
const str = moment(dt).format('YYYY-MM-DD HH:mm:ss')
可以看到,他们的结果是一致的:
订阅我,带你学习node.js!