NodeJS入门

NodeJS入门及搭建一个简单的Web服务

Posted by wang chong on January 23, 2019

什么是NodeJS

NodeJS本质上是一个JavaScript的解释器,是JavaScript的运行环境。它是一个后端服务器程序,并且允许使用JavaScript语言定义数据结构,可以操作磁盘文件和搭建http服务。

注意:NodeJS并不是一个Web服务器,它是可以搭建Web服务器的,可以说Web服务器是Nodejs的一个产物。

为什么要用NodeJS

NodeJS有以下特性值得我们去用

  1. 可以提供高性能的Web服务(Node作者的初衷)
  2. IO性能强大(发送数据和接收数据,所依赖的条件就是输入和输出)
  3. 事件处理机制完善
  4. 天然能够处理DOM(JavaScript语言的能力)
  5. 社区非常活跃,生态圈日趋完善

NodeJS的优势在哪里

  1. 处理大流量数据
  2. 适合实时交互的应用(在线聊天系统)
  3. 完美支持对象型数据库(Mongodb)
  4. 异步处理并发连接(很多人同事链接一台服务器就叫做并发连接)

学习NodeJS的前置知识

  1. JavaScript
  2. ES6
  3. 一些服务器相关的知识(网络相关的知识)
  4. 最好在Linux系统上进行开发

相关资料和学习网站

  1. 官方网站
  2. 中文网站

安装NodeJS

在上面官网下载。不同的操作系统下载相应的版本,学习的话最好安装最新版(LTS:表示长期稳定版本)。Source Code就是NodeJS的源代码,是用C++编写的。

检查是否安装成功

node -v

上面命令是检查Node是否安装成功,成功的话返回安装Node的版本。

包管理器npm

npm是依附于node的包管理器,在下载node的时候会相应把npm下载下来。检查npm是否下载使用以下命令,成功的话返回npm的版本号

npm -v

npm所能做的事

  1. 允许用户从npm服务器下载别人编写的第三方包到本地使用。
  2. 允许用户从npm服务器下载并安装别人编写的命令行程序到本地使用。
  3. 允许用户将自己编写的包或命令行程序上传到npm服务器供别人使用

npm的官网

npm的官网

安装cnpm(不建议,但是真香)

cnpm npm install cnpm -g

搭建一个简单的服务

//从node原声API中引入http模块
const http = require("http");
//使用http的createServer创建一个服务
http.createServer((req,res) => {
    //req是服务器接收浏览器请求对象。
    //res是服务器响应浏览器请求对象。

    //定义HTTP响应头
        //第一个值是响应的状态值。
        //第二个值是以json格式返回的响应头的必要信息。
    res.writeHead(200,{
        'Content-Type' : 'text/plan'
    });

    //发送响应数据
    res.end('Hello World! \n');

//使用级联函数对监听端口的设定
}).listen(8080)
//服务运行后输出一行信息
console.log('server is running...');

//开启服务
    //在终端中使用 node node2.js
        //输出 server is running...
//在浏览器访问
    //如果node在本机上:127.0.0.1:8080
    //如果在远程服务器上:服务器ip:8080