出于对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.txt
My 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.js
var 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.