Node.js了解

作者: 平安喜乐698 | 来源:发表于2020-04-01 00:00 被阅读0次
目录
  1. Hello World
  2. 创建第一个Node.js应用
  3. REPL 调试Javascript
  4. 回调函数

少壮不努力,老大徒伤悲。

本文为本人略读官网文档后的大略笔记,实在不适合他人阅读。

前言

Node.js : 运行在服务端的JavaScript

是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎。

安装

安装node
brew install node

查看当前node版本
node -v

1. Hello World

创建test.js (内容如下)

console.log("Hello World"); 

终端执行 node test.js

输出Hello World
效果图 交互模式(终端输入node)效果图

2. 创建第一个Node.js应用

Node.js应用的组成部分

1. 引入required模块
  使用require指令来载入Node.js模块。

2. 创建服务器
  服务器监听客户端请求。
  Apache、Nginx等HTTP 服务器。

3. 接收请求与响应请求 
  客户端可以使用浏览器或终端发送HTTP请求,服务器接收请求后返回响应数据。

步骤1: 引入required模块

// 使用require指令载入http 模块,并将实例化的HTTP赋值给变量http
var http = require("http");

步骤2: 创建服务器

创建 server.js文件

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(8088);

// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8088/');

终端运行 node server.js

如果运行出错,可能是端口号冲突,换一个端口即可。
运行效果

3. REPL 调试Javascript

REPL(Read Eval Print Loop:交互式解释器)
一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接收系统的响应。

Node自带了交互式解释器,可以执行以下任务:
    1. 读取 
      读取用户输入,解析输入了Javascript 数据结构并存储在内存中。
    2. 执行 
      执行输入的数据结构
    3. 打印
      输出结果
    4. 循环
      循环操作以上步骤直到用户两次按下 ctrl-c 按钮退出。
退出当前终端
    ctrl + c 。

按下两次 - 退出 Node REPL
    ctrl + c 。

退出 Node REPL
    ctrl + d - 

查看输入的历史命令
    向上/向下键 

补全当前命令
    tab 键 

列出可使用命令
    .help  

退出多行表达式
    .break 

退出多行表达式
    .clear 

保存当前的 Node REPL 会话到指定文件
    .save filename  

载入当前 Node REPL 会话的文件内容
    .load filename 

首先,在终端输入node

可使用
  1. 表达式运算
  2. 变量
  3. 多行语句
  4. _获取上一个表达式的值
运行效果

4. 回调函数

Node 所有 API 都支持回调函数

回调函数一般作为函数的最后一个参数出现
  function foo1(name, age, callback) { }
  function foo2(value, callback1, callback2) { }

例1 (阻塞)

创建content.txt文件

Hello World!
Hello cx,,,

创建main.js文件

var fs = require("fs");

var data = fs.readFileSync('content.txt');
console.log(data.toString());
console.log("程序执行结束!");

终端执行 node main.js

Hello World!
Hello cx,,,
程序执行结束!

例2 (非阻塞)

创建content.txt文件

Hello World!
Hello cx,,,

创建main.js文件

var fs = require("fs");

fs.readFile('content.txt', function (err, data) {
    if (err) return console.error(err);
    console.log(data.toString());
});
console.log("程序执行结束!");

终端执行 node main.js

程序执行结束!
Hello World!
Hello cx,,,

5. 事件循环


待续。。。。。

相关文章

网友评论

    本文标题:Node.js了解

    本文链接:https://www.haomeiwen.com/subject/kngguhtx.html