在Node.js学习历程中随手记下来的一些基础练习与操作。。。
通过Node命令运行该程序,然后在浏览器地址栏输入定义好的服务器地址 http://127.0.0.1:8888/ 打开页面
var http = require('http');
http.createServer(function (request, response) {
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// 发送响应数据 "Hello World"
response.end('Hello World!\n');
}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');
通过下面的代码可以简单查看你的node.js环境下有那些模块
const m = require('module');
console.log("require('module'):\n",m);
console.log()
console.info()
两个方法的输出结果是完全一致的。(类似其他编程语言中的print()
)
console.error()
console.warn()
示例:(输出错误和警告的方法function(err,data){})
var fs = require('fs');
var file = 'new_file-none.html';
var encoding = 'UTF-8';
fs.readFile(file,encoding,function(err,data){
if(err){
// console.log(err);
console.error("error输出:\n %s",err); //%s 指定输出字符串格式
console.warn("warn输出:\n %s",err);
}else{
console.log(data);
}
});
-
执行node命令可以指定命令的标准错误输出流形式,默认是控制台,也可以为文件重定向。
即输入如下命令即可将错误日志文件(error.log)输出到本地
node newfile.js 2> error.log
应用程序模拟组合控制键操作(如复制、粘贴、撤销等)来代替用户完成一些键盘操作功能。在Node.js平台下,通过readline模块的write()方法实现该功能。
例(对控制台进行撤销操作的功能):
var readline = require('readline');
var rl = readline.createInterface({ //初始化rl对象
input:process.stdin,
output:process.stdout
});
rl.write('Delete this!wait for 3seconds...'); //在控制台输出文字
var timeoutlength = 3*1000;
var timeout = setTimeout(function(){
//向控制台模拟输出撤销操作快捷键并删除之前的写入文字。第二个参数为一个JSON对象设定控制键Ctrl+U
rl.write(null,{ctrl:true,name:'u'});
},timeoutlength);
一些常用快捷键操作:
Ctrl + C 为nodejs中的退出快捷键
Ctrl + U为撤销
clear 或 cls 清空界面
tap键在文件下切换选择文件
示例代码:
var readline = require('readline');
var rl = readline.createInterface({ //初始化rl对象
input:process.stdin,
output:process.stdout
});
rl.setPrompt("NodeJS> "); //定义模拟控制台命令提示符,调用时将写入 output 的提示。
rl.prompt(); //初始化模拟控制台,开启 input 流
rl.on('line', function(line){ //激活readline模块的line事件,单行数据的读取输出
switch(line.trim()){ //trim()为去除前后空白字符
case 'name':
console.log("Lin Wit");
break;
case 'code':
console.log("Node.js");
break;
case 'year':
console.log(2022);
break;
default:
console.log(line.trim()+" :don't this case!");
break;
}
rl.prompt(); //用于保持在接收完一次输出后,继续模拟控制台命令行
}).on('close',function(){ //激活readline模块的close事件,进程结束时触发事件
console.log('###byebye! process end###');
process.exit(0); //退出进程
}).on('pause',()=>{ //激活readline模块的pause事件,输出流暂停时触发事件
console.log("######pause######");
})
console.assert()
方法实现断言操作,断言即当逻辑表达式为false时输出错误提示信息。
语法:console.assert(value[, …message])
console.assert(true, 'does nothing');
//无输出
console.assert(false, 'Whoops %s work', 'didn\'t');
//输出:Assertion failed: Whoops didn't work
console.assert();
//输出:Assertion failed
console.assert(1==3, "This 1==3 Error!");
//输出:Assertion failed: This 1==3 Error!
console.table()
方法将数组形式的信息以表格的形式输出
语法:console.table(tabularData[, properties])
var arrTable = {
A: {no:"1",name:"LinWit"},
B: {no:"2",name:"zhangsan"},
C: {no:"3",name:"lisi"}
};
console.table(arrTable);
console.table(arrTable,["name"]); //仅将JSON格式数据中的列(name)以表格形式输出
console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }]);