出于对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.

5. 待续


林潇
50 声望4 粉丝