1、前言javascript
咱们先从如下几个方面在大致上认识一下Node.js:html
Node.js 是什么?==> 运行环境java
是一个 能够运行 并加载 ES语法的 脚本运行环境node
JS(ES5)、ES六、Common.js 语法 ……web
Node.js 能够加载各类模块==> 实现各类功能数据库
Node.js 安装完成后会集成 核心模块,可让 Node.js 运行一些特定的脚本,实现一些功能浏览器
Node.js 默认加载了 ES 语法的运行环境缓存
REPL:可交互式控制台命令行 ==> 测试服务器
Node.js ES 运行环境 基于 Chrome V8 引擎 ++函数
Node.js 服务器端运行
BOM (window) 的全部方法 没法运行
DOM的全部操做 也没法运行
Node.js 除了运行ES 语法的脚本外,还能够经过 ES 语法执行其它操做,
例如 数据库访问,文件读写,缓存处理……
2、推荐开发工具:VSCode(Visual Studio Code)
3、Node.js的HTTP服务器搭建
Node.js的HTTP服务器搭建能够概括为三步:
一、加载服务模块
const http = require("http");
二、建立服务器
const server = http.createServer(function(request,response){
......
});
三、启动服务器并监听端口
server.listen(port,callback); //port是端口号,callback是回调函数
具体代码以下
// NODE.JS 默认对全部在环境中运行的 js 代码使用严格模式 // 加载 NODE.JS 的核心扩展模块 http 获取服务器建立对象 // 一、加载服务模块 const http = require("http");//const定义常量 // 二、建立服务器 const server = http.createServer(function(request,response){ console.log("请求到达"); response.writeHead(200,{//响应头 "Content-Type":"text/html;charset=utf-8"//中文编码 }); // 对于服务器的建立 // 一个请求必有一个相应 // 一个请求一个相应 相应结束后 须要明确的相应标识 response.write("<h1>hello node啊<h1>");//响应 response.end();//结束响应 }); // 三、启动服务器并监听端口 // server.listen(port,callback) /* 常见的服务及其默认端口 PHP 80 MYSQL 3306 javaweb 8080 node.js 3000 */ server.listen(3000,function(){ console.log("正在监听3000端口"); });
看到上段代码,做为初学者,可能会产生不少疑问。好比:
一、第一步加载服务模块中的require是什么?
require()是commen.js中的语法,将多个 .js 文件合并成一个 .js 文件进行运行。
require()在node.js中叫作模块加载器。用来加载模块(.js 文件)。
二、require(“http”)能够返回服务对象,那么这里的http究竟是什么?
http 是 node.js 的核心模块,就是一个 js 文件。
node.js 中模块分为核心模块、扩展模块和自定义模块。
核心模块:核心库在 node.js 的安装目录中,已经被彻底打包;
扩展模块:在Node.js 环境上 非官方开发的功能模块;
自定义模块:本身定义的功能模块。
三、第二步 建立服务器 const server = http.createServer(function(request,response){ ...... });为何会进入该方法?
http模块中已经定义了该方法,而且经过 exports 或者 module exports 方法导出该方法。
exports 方法:导出结果是一个 JSON 对象,导出的操做实际上就是 在该对象中添加新的属性;
module.exports 方法:对象导出方式 ,是直接将 exports 对象进行新对象的替换或方法属性的替换 。
。。。。
代码运行: node 文件名
控制台显示正在监听3000端口:
在浏览器地址栏输入: 127.0.0.1:3000后,浏览器给出响应结果而且控制到输出请求到达