后端与运维

初识Node.js

1、什么是Node.js

  • Node.js是一个js解释器、一个js运行环境、一个服务器程序
  • Node.js使用V8引擎
  • Node.js不是web服务器
  • Node.js可以读取磁盘文件操作DOM搭建web服务器……

2、为什么要用Node.js

  • 为了提供高性能的web服务
  • IO性能强大
  • 事件处理机制完善
  • 天然能够处理DOM
  • 社区非常活跃、生态圈日趋完善

3、Node.js的优势在哪里

  • 处理大流量数据
  • 适合实时交互的应用(eg:在线聊天系统等
  • 完美支持对象型数据库(eg:MongoDB
  • 异步处理大量并发连接(并发连接可以用来衡量服务器的性能

4、学习Node.js的前置知识

  • JavaScript基于面向对象的语言)
  • ES6面向对象的语言,nodejs天生支持ES6)
  • 一些服务器相关的知识(Apache……)
  • 最好在Linux系统下进行开发

5、npm知多少

  • 从NPM服务器下载别人编写的**第三方包**到本地使用

  • 从NPM服务器下载并安装别人编写的**命令行程序**到本地使用

  • 将自己编写的**命令行程序**上传到NPM服务器供别人使用

  • 安装cnpm(速度快)

    $ npm install cnpm //安装cnpm镜像
    
  • 更新npm版本

    $ npm install npm -g  //更新npm版本
    

6、"Hello World"

// hello.js
console.log('hello world');

// 使用 node 运行 hello.js
// 输出 'hello world'

7、使用Node.js搭建一个简单web服务器

// server.js
let http = require('http');

http.createServer((req, res) => {
    //定义HTTP头
    res.writeHead(200, {'Content-Type': 'text/plain'});

    //发送相应数据;
    res.end('Hello World!\n');
}).listen(8000);

//服务运行后输出一行信息;
console.log('server is running...')

// 使用 node 运行 server.js
// 启动服务器

8、Node.js环境

8.1、REPL环境——交互式解释器

8.1.1、在该环境中可以进行**简单计算** 、 代码验证

$ node // 回车 进入Node的 REPL环境
> 1 + 3			// 简单的计算
  4
> console.log('helle REPL');  //代码执行
  'helle REPL'
> let x = 10	//复杂些的计算,声明变量、使用变量计算
  undefined
> let y = 2
  undefined
> let z = 3
  undefined
> x + y * z
  16

8.1.2、REPL下的常用命令

$ ctrl + c  	//退出当前终端。比如 npm、http-server……
$ ctrl + c		//退出Node REPL环境, 需要按两次
$ ctrl + d 		//退出Node REPL环境, 当前REPL命令行没有可执行的命令时,可用
$ 向上/向下 键	 //查看输入的历史命令
$ tab 键  	    //补全记不清的命令(列出当前命令)
$ .exit			 //退出当前终端
$ .help			//列出使用的命令
$ .break		//退出多行表达式
$ .clear		//退出多行表达式
$ .save filename //保存当前的Node REPL 会话到指定文件
$ .load filename //载入当前 Node REPL 会话的文件内容

10、参照资料

写在后边

如有问题,欢迎指正。[微笑]