美文网首页node网络web
通过nodejs搭建http本地服务

通过nodejs搭建http本地服务

作者: 焦下客 | 来源:发表于2022-12-28 15:32 被阅读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

    尾声

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

    相关文章

      网友评论

        本文标题:通过nodejs搭建http本地服务

        本文链接:https://www.haomeiwen.com/subject/tjkzqdtx.html