node.js的基础介绍与使用

Node.js是什么?

  • Node.js本质上是一个JavaScript的运行环境。
  • 基于Google的V8引擎,实际上,是从Chrome上抠下的V8引擎并加以封装的一个执行环境。
  • Node下载官网:https://nodejs.org/en/download/

Node.js优点?

  • 快,性能高,开发效率高,应用范围广
  • 1.Node.js有超强的高并发能力
    • Node非阻塞I/O,基于事件驱动:
      • Node.js当接收到一个用户连接,就会触发一个内部事件。通过事先定义好的函数,达到响应用户的行为。Node.js主线程并不关心程序要走什么流程,实际上,有另外的工作线程去帮Node主线程去存取文件,读数据库,当工作线程读取到文件数据,或数据库里面的数据,就会把回调函数返回给Node主线程去执行,例如: 把找到的数据传回客户端,关闭连接一些操作。
        node.js的基础介绍与使用
  • 2.Node用的就是JavaScript的语法
    • Node.JS 基于 javaScript 的 V8引擎,也就是说只要会JS的语法,就能用于后端开发,但是Node官方推荐用ECMA Script6(ES6)语法 。
    • Node打破了过去JavaScript只能在浏览器运行的局面,让前后端编程环境统一,这样就大大降低了开发成本。
  • 3.Node.JS 出现促成前端工程化思想
    • Node.js不仅仅是运行环境,也是一门脱胎换骨全新的JavaScript语言,它容纳了JS语法基础,还加入一些内部模块如:
      • http用来处理请求响应的模块
      • fs 用来读取文件的模
      • url 用来解析请求数据等等
      • const http = require('http')
  • 4.Node.js还集成了 Npm 包管理工具,让我们可以很方便的通过命令行就能下载我们项目依赖的包如:
    • npm install jquery
    • npm install -g webpack
    • npm install -g create-react-app 等等
    • const Jquery = require('jquery')
  • 5.Node 还支持自定义模块语法
    const app =()=>{
     //模块代码
     }
    module.exports = app; 
    
    const app = require('module/app.js'); //引入自定义模块

Node.js能做什么?

  • Web服务器后台(java、php做的node.js都能做)
  • 命令行工具

for example

  • eg1:
    • node -v
    • vim helloworld.js
    • console.log("hello world");
    • node helloworld.js
  • eg2:
    • 引入 required 模块 var http = require("http");
    • 创建服务器 ,我们使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口。 函数通过 request, response 参数来接收和响应数据。如下,在你项目的根目录下创建一个叫 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(8888);
    
    // 终端打印如下信息
    console.log('Server running at http://127.0.0.1:8888/');