出于对javascript的好奇,尝试初步学习一下nodejs。
1. helloworld
var http = require('http');http.createServer( function (request, response){ response.writeHead(200, {'Content-Type' : 'text/plain'}); response.end('Hello World\n'); }).listen(8888);console.log('Server running at http://localhost:8888.');
2. npm相当于python中pip
2.1 安装(install)/卸载(uninstall)/更新(update)/搜索(search)/帮助(help)模块
npm install/uninstall/update/search/help express # 本地npm install express -g # 全局
模块由package.json定义。
2.2 查看列表
npm list -g
3. REPL(Read Eval Print Loop)交互式命令行学习环境
.help #help在手,天下我有
ctrl+c,c 退出
4. 回调
回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。
function foo1(name, age, callback) { }function foo2(value, callback1, callback2) { }
4.1 阻塞
4.1.1 创建自我介绍文件linxiao.txtMy name is linxiao.I am a software engineer.
4.1.2 读取文件
4.1.2.1 创建read.js:var fs = require('fs');var data = fs.readFileSync('linxiao.txt');console.log(data.toString());console.log('Read sucessful.编码测试'); #将代码文件编码转换为utf-8可输出中文
4.1.2.2 执行
node read.js
output:
My name is linxiao.I am a software engineer.Read sucessful.编码测试
4.2 异步
4.2.1 创建read-async.jsvar fs = require('fs');fs.readFile('linxiao.txt', function (err,data){ if (err) return console.error(err); console.log(data.toString()); });console.log("读取结束。");
4.2.2 执行输出
读取结束。My name is linxiao.I am a software engineer.