Node.JS常用模块有哪些,基本的用法是什么
Admin 2022-08-18 群英技术资讯 888 次浏览
很多朋友都对“Node.JS常用模块有哪些,基本的用法是什么”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感兴趣的朋友就继续往下看吧!常用的全局对象 __dirname , __filename
__dirname 当前模块的目录名,等同于path.dirname(__filename)
__filename 当前模块的文件名,这是绝对路径。
var os = require("os"); console.log("platform:", os.platform()); console.log("release:", os.release()); console.log("type:", os.type()); console.log("arch:", os.arch());
Process对象是一个global全局对象,控制着当前NodeJS进程。由于它对于Node来说是始终可用的,因此可以省掉 require()
// process 是全局变量 // 当前进程的路径 console.log(process.cwd()); console.log(process.chdir("./filepath")); process.stdout.write("hello world"); process.stderr.write("error"); // process.on() 监听事件 process.on("exit", function(code){ console.log(code); }); process.on("uncaughtException", function(err){ console.log(err); }); process.exit();
标准输入输出流
process.stdin 可读流
process.stdout 可写流
process.stderr
process.stdin.resume(); process.stdin.setEncoding("utf-8"); process.stdin.on("data", function(text){ process.stdout.write(text.toUpperCase()); });
通过process对象来获取平台信息
process.arch 返回一个标识处理器架构的字符串 'arm' , 'ia32', 'x64'
process.memoryUsage() 返回一个描述当前进程中内存使用情况的对象,具有4个属性: rss, heapTotal, heapUsed, external
process.exit() 通过code状态码来决定程序是正常退出还是错误退出,当程序运行结束后,可以在终端中通过 echo $? 或者是 echo %errorlevel% 来获取状态码
process.pid 属性,返回进程的ID号
process对象实现了EventEmitter事件接口,所以可以对它添加监听器。
process.nextTick() 方法允许你将回调方法放在下一次的事件轮询队列的第一个。也就是说你可以将这个回调方法进行略微的延迟,这会比setTimeout()设定 0 毫秒的延迟要更有效率
格式占位符
%s %d %j
字符串 数字 JSON
打印对象时,如果没有使用%j, 那么系统会默认调用util.inspect方法进行对象格式化。
其实console.log console.error console.info console.warn这四个方法内部都是使用的process提供的stdin , stdout , stderr这三个对象来实现的。
可以在控制台通过 2> [fileName] 的方式将程序运行中的错误信息重定向到文件中,而不是在控制台中打印。这是因为在操作系统内部一共有三个标准流 stdin, stdout, stderr. 分别对应数字0, 1, 2
var name = 'joyjoe'; var user = {name: 'joyjoe'}; console.log('Hello: ' , name); console.log('Hello: %s' , name); console.log('Hello: %j' , user); console.err('Error, bad User: ' , user);
node console.js 2>error.log
console.trace()
通过console.time() 和 console.timeEnd() 两个方法来实现时间基准测试
var url = require("url"); var baseURL = 'http://nodejs.cn/api/stream.html#stream_readable_setencoding_encoding"; url.parse(baseURL); var queryURL = "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=node%20url&rsv_pq=c64714e100067de8&rsv_t=90619GdyWxr98m%2BjT1vFFgIj5qlVJWCLw215zhVVtnESrJE%2Fic4nboA4h%2Fo&rqlang=cn&rsv_enter=1&rsv_sug3=14&rsv_sug1=11&rsv_sug7=100"; url.parse(queryURL); url.parse(queryURL, true); var json = { protocol: 'https:', slashes: true, auth: null, host: 'www.baidu.com', port: null, hostname: 'www.baidu.com', hash: null, search: '?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu', query: 'ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu', pathname: '/a/b/s', path: '/a/b/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu', href: 'https://www.baidu.com/a/b/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu' }; url.format(json);
path.join()使用平台特定的分隔符把全部给定的path片段拼接起来并规范化生成的路径
path.dirname()返回一个path路径的目录名称
path.basename()返回一个path路径的最后一部分
path.extname()返回一个path路径的扩展名(从最后一个.号开始)
Timer模块暴露了全局API,用来在某个时间段调用调度函数。
Timeout类,内部创建,从setTimeout() 和 setInterval() 返回。可以传给 clearTimeout() 和 clearInterval() 来取消预定操作
当你预定一个Timeout定时器类时,只要定时器处于活动状态,NodeJS的事件循环机制就会继续运行。同时可以通过ref() 和 unref() 函数来控制定时器的默认行为。
timeout.ref() 调用时,只要定时器处于活动状态,就要求事件循环不要退出。默认情况下所有定时器都是活动状态。
timeout.unref() 调用时,处于活动状态的定时器,要求退出事件循环。也就是说当所有的定时器运行完毕(此时程序中已经没有处于活动状态的定时器类)后就会退出进程。
setImmediate(callback, ...args) 预定立即执行的callback 这些回调函数会在IO事件的回调函数执行完毕后立即执行。也就是说immediate 函数会在 interval 函数之前调用。
多次调用该方法,多个回调函数会按照它们被创建的顺序依次执行。每次事件循环迭代时都会处理整个回调队列。如果一个立即执行定时器创建后是被当前正在执行的回调给排入队列的,那么这个定时器会在下一次的事件循环迭代时才会被触发。 而 process.nextTick() 方法指定的回调函数,前面说, 回调方法放在下一次的事件轮询队列的第一个。 也可以理解为 在当前事件轮询结束后执行。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家详细介绍了JavaScript实现搜索的数据显示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
jQuery怎样实现任意点击隐藏div的效果?我们一些网站经常能看到通过点击任意位置后关闭打开div的效果,这样的好处是能提高用户的体验,那么具体怎样实现这一效果呢?
如何用jQuery实现鼠标经过隐藏与显示的动画?有不少朋友对此感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
type的类型别用可以用户其他的类型,比如联合类型、元祖类型、基本类型,interface不行,下面这篇文章主要给大家介绍了关于TypeScript中type和interface的区别及注意事项的相关资料,需要的朋友可以参考下
这篇文章主要介绍JS中的new,new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。下面我们一起来看看我呢很脏具体内容的详细介绍,需要的朋友可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008