Node.js---01、初识NodeJS和Node.js的HTTP服务器搭建

来源:转载

一、前言


我们先从以下几个方面在大体上认识一下Node.js:

Node.js 是什么?==> 运行环境



是一个 可以运行 并加载 ES语法的 脚本运行环境


JS(ES5)、ES6、Common.js 语法 ……

Node.js 可以加载各种模块==> 实现各种功能


Node.js 安装完成后会集成 核心模块,可以让 Node.js 运行一些特定的脚本,实现一些功能



Node.js 默认加载了 ES 语法的运行环境


REPL:可交互式控制台命令行 ==> 测试

Node.js ES 运行环境 基于 Chrome V8 引擎 ++


Node.js 服务器端运行



BOM (window) 的所有方法 无法运行


DOM的所有操作 也无法运行

Node.js 除了运行ES 语法的脚本外,还可以通过 ES 语法执行其它操作,



例如 数据库访问,文件读写,缓存处理……


二、推荐开发工具:VSCode(Visual Studio Code)


三、Node.js的HTTP服务器搭建


Node.js的HTTP服务器搭建可以归纳为三步:


1、加载服务模块


const http = require("http");


2、创建服务器


const server = http.createServer(function(request,response){


......


});


3、启动服务器并监听端口


server.listen(port,callback); //port是端口号,callback是回调函数


具体代码如下


// NODE.JS 默认对所有在环境中运行的 js 代码使用严格模式
// 加载 NODE.JS 的核心扩展模块http获取服务器创建对象
// 1、加载服务模块
const http = require("http");//const定义常量
// 2、创建服务器
const server = http.createServer(function(request,response){
console.log("请求到达");
response.writeHead(200,{//响应头
"Content-Type":"text/html;charset=utf-8"//中文编码
});
// 对于服务器的创建
// 一个请求必有一个相应
// 一个请求一个相应 相应结束后 需要明确的相应标识
response.write("

hello node啊

");//响应
response.end();//结束响应
});
// 3、启动服务器并监听端口
// server.listen(port,callback)
/*
常见的服务及其默认端口
PHP 80
MYSQL 3306
javaweb 8080
node.js3000
*/
server.listen(3000,function(){
console.log("正在监听3000端口");
});

看到上段代码,作为初学者,可能会产生很多疑问。比如:


1、第一步加载服务模块中的require是什么?


require()是commen.js中的语法,将多个 .js 文件合并成一个 .js 文件进行运行。


require()在node.js中叫做模块加载器。用来加载模块(.js 文件)。


2、require(“http”)可以返回服务对象,那么这里的http到底是什么?


http 是 node.js 的核心模块,就是一个 js 文件。


node.js 中模块分为核心模块、扩展模块和自定义模块。


核心模块:核心库在 node.js 的安装目录中,已经被完全打包;


扩展模块:在Node.js 环境上 非官方开发的功能模块;


自定义模块:自己定义的功能模块。


3、第二步 创建服务器const server = http.createServer(function(request,response){ ...... });为什么会进入该方法?


http模块中已经定义了该方法,并且通过 exports 或者 module exports 方法导出该方法。


exports 方法:导出结果是一个 JSON 对象,导出的操作实际上就是 在该对象中添加新的属性;


module.exports 方法:对象导出方式 ,是直接将 exports 对象进行新对象的替换或方法属性的替换 。


。。。。


代码运行: node 文件名


控制台显示正在监听3000端口:



在浏览器地址栏输入: 127.0.0.1:3000后,浏览器给出响应结果并且控制到输出请求到达


分享给朋友:
您可能感兴趣的文章:
随机阅读: