node网络web

通过nodejs搭建http本地服务

2022-12-28  本文已影响0人  焦下客

nodejs是什么?

6609c93d70cf3bc79f3ded3c434bada1cd11738bfc82.png

他是一个基于Chrome V8引擎的JavaScript运行环境(它不是语言,也不是框架),通过nodejs,JavaScript可以完全脱离浏览器运行,也可以用于搭建服务器。

搭建步骤和环境

  1. 基于macOS Monterey 12.2.1的苹果操作系统搭建。

  2. nodejs版本为v17.2.0 可以在官网地址:https://nodejs.org/zh-cn/download/ 下载对应版本。

  3. 引入依赖http库【加载nodejs提供的api,此模块负责创建和编写服务器】,引入依赖events库【此模块负责监听事件】

  4. 通过http.createserver()来创建web服务器

  5. 通过new events.EventEmitter()创建事件监听对象来监听请求url

  6. 通过http.createserver().listen(port,ip)进行端口和ip的绑定。启动成功后,就可以通过ip+端口号来进行访问。

实例:

server.js

var http = require("http");
var url = require('url');
var util = require('util');
var queryString = require("querystring");
const error_api = "404"
const {
 exit
} = require("process");
var events = require('events');

// 创建 eventEmitter 对象 
var eventEmitter = new events.EventEmitter();

// route 404 
eventEmitter.on(error_api, function(method, response) {
 response.writeHead(404, {
 'Content-Type': 'text/plain'
 });
 response.end('404 Not Found\n');
});

// 启动服务 
http.createServer(function(request, response) {
 console.log(request.url);
 console.log('method=' + request.method + 'content-type=' + request.headers["content-type"]);
 var post = '';
 // // 通过req的data事件监听函数,每当接受到请求体的数据,就累加到post变量中
 request.on('data', function(chunk) {
 post += chunk;
 });
 // 在end事件触发后,通过querystring.parse将post解析为真正的POST请求格式,然后向客户端返回。
 request.on('end', function() {
 console.log('post=' + post);

 response.writeHead(200, {
 'Content-Type': 'text/html; charset=UTF8',
 "Access-Control-Allow-Origin": "*",
 "Access-Control-Allow-Headers": "*" //跨域请求处理
 });
 eventEmitter.emit(request.url, request.method, response);
 });

}).listen(8888, '127.0.0.1'); //替换自己的ip 和对应的端口

console.log('Server running at 127.0.0.1:8888/');

启动服务:

打开Terminal终端 进入到server.js 文件目录下输入:

node server.js

尾声

本文主要目的是为了刚做的小工具使用的技术做个简单记录,如果对你有帮助深感荣幸。

上一篇 下一篇

猜你喜欢

热点阅读