Node.js 初学者入门学习笔记

安装 Node.js

使用 nvm 安装 Node.js,可以方便的管理 Node.js 版本并切换
https://github.com/nvm-sh/nvm

VS code 编辑器智能提示

安装:
cnpm install @types/node --save-dev
安装成功之后,在使用 VS code 时就会有相关代码提示:
在这里插入图片描述

创建第一个 Node.js 应用:

// 文件 server.js
var http = require("http");
http.createServer(
    function (request, response) {

        response.writeHead(200, {
            "content-type": "text/plain"
        });
        response.write("hello, Node.js");
        response.end()
    }
).listen(8000);

console.log("端口号:8000");

运行+退出 Node.js 应用

终端输入:
node server.js

浏览器访问地址:
127.0.0.1:8000

localhost:8000

在这里插入图片描述

退出:
Ctrl + C

中文乱码问题

当我们输出文本内容包含中文时,就会出现乱码:
在这里插入图片描述
原因:
在这里插入图片描述
因为我们再新建文件的时候,默认保存的编码都是utf-8

解决:
所以在输出时,我们同样需要使用utf-8
修改 server.js

... ...
        response.writeHead(200, {
            "content-type": "text/plain;charset=utf-8"
        });
        response.write("hello, Node.js!《学习笔记》");
        response.end()
... ...

终端:退出,重启
在这里插入图片描述
问题解决。

创建第一个 HTML 页面

//html-server.js
var http = require("http");
http.createServer(
    function (request, response) {
        response.writeHead(200, {
            "content-type": "text/html"
        });
        response.write("<head><meta charset='utf-8'/></head>")
        response.write("<h1>hello</h1>");
        response.write("<p>Node.js!</p>");
        response.write("<h2>《学习笔记》</h2>");

        response.end();
    }
).listen(8000);

在这里插入图片描述

Node.js 回调函数

阻塞代码
银行排队:
客户只能逐个办理。

非阻塞代码:异步完成
银行排队:
办理客户1,需要填单,下位客户→办理客户2(客户1填单中…)→办理客户3(客户1填单中…)→办理客户1(填单完成)→办理客户4

根目录创建文本文件:

// test-file.txt
====
1. 填单完成
2. 办理业务
====
var fs = require("fs");

// 同步读取,有阻塞
var data = fs.readFileSync("test-file.txt")
console.log("客户1:" + data.toString());

// 异步读取,无阻赛
fs.readFile('test-file.txt', function (err, data) {
    if (err) {
        console.error(erro);
    }
    console.log("客户2:" + data.toString());
})

// 同步读取,有阻塞
var data = fs.readFileSync("test-file.txt")
console.log("客户3:" + data.toString());

运行后输出:

客户1:
1. 填单完成
2. 办理业务

客户3:
1. 填单完成
2. 办理业务

客户2:
1. 填单完成
2. 办理业务
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值