1.前言
1-1.什么是node.js
简单的说 Node.js 就是运行在服务端的 JavaScript。
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
1-2.Hello world.
1-2-1.控制台
$ node
> console.log('Hello World!');
Hello World!
1-2-2.文件流
$echo "Hello World!" > helloworld.js
$node helloworld.js
2.安装与配置
2-1.下载node.js
2-2.配置环境变量并查看版本号(默认会自动添加的)
3.创建第一个应用
3-1.server.js
var http = require('http'); //载入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(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');
3.NPM 使用介绍
3-1.关于npm
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
1.允许用户从NPM服务器下载别人编写的第三方包到本地使用。
2.允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
3.允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
3-2.npm命令(TODO)
3-2-1.使用npm命令安装模块(本地)
$ npm install express
[*]. 说白了,就是安装到当前的工作目录,需要复制到nodejs目录。
3-2-2.使用npm命令安装模块(全局)
$ npm install express -g
[*]. 安装后的文件到nodejs目录
4.NVM常见命令(TODO)
4-1.命令介绍
5.node命令行REPL的使用
5-1.简单的表达式运算,直接返回结果
> 3 * 6
18
5-2.多行表达式可以用{开头,};结尾,中间任意写,不能倒回去改很头疼。
> do {
... x++;
... console.log("x: " + x);
... } while ( x < 5 );
x: 1
x: 2
x: 3
x: 4
x: 5
undefined
>
5-3.控制台操作
- ctrl + c - 退出当前终端。(写多行代码的时候会用)
- ctrl + c 按下两次 - 退出 Node REPL。(退出node终端)
- .exit 退出node终端
- ctrl + d - 退出 Node REPL.(退出node终端)
- 向上/向下 键 - 查看输入的历史命令
- tab 键 - 列出当前命令,智能提示
- .help - 列出可以使用的命令
6.回调函数
6-1.关于node的回调函数
- Node.js 异步编程的直接体现就是回调。
- Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。
6-2.我对回调的理解
回调函数就是一个函数执行完后,然后会直接把指定的参数传到另一个函数去执行,这样很方便,可以简化代码量。还有一个好处,就是可以node.js的回调可以实现异步编程。
6-3.传统代码
var fs = require("fs");
var data = fs.readFileSync('input.txt');
console.log(data.toString());
console.log("程序执行结束!");
6-4.回调函数实例
var fs = require("fs");
fs.readFile('input.txt', function (err, data) {
if (err) return console.error(err);
console.log(data.toString());
});
console.log("程序执行结束!");