NodeJs入门(二)--用nodejs搭建一个简单的web服务

作者: loushumei | 来源:发表于2018-04-03 16:59 被阅读62次

    前言


    对于初入node的小白,可能除了知道node是运行在服务端的js外,其他还是一头雾水;
    那么本节内容将通过 搭建一个简单的web服务器的方式,让读者对node有个大致宏观的了解,话不多说,让我们开始吧!

    搭建一个简单的web服务器的步骤


    1.生成如下目录

    nodeLearn(文件夹)

    begining(文件夹)

    sever.js

    2.打开 官网,复制官网-创建web服务器的示例代码到 sever.js 保存

    const http = require('http');
    
    const hostname = '127.0.0.1';
    const port = 3000;
    
    const server = http.createServer((req, res) => {
      res.statusCode = 200;
      res.setHeader('Content-Type', 'text/plain');
      res.end('Hello World\n');
    });
    
    server.listen(port, hostname, () => {
      console.log(`Server running at http://${hostname}:${port}/`);
    });
    
    

    3.运行 server.js

    打开[begining]文件夹

    $ cd nodeLearn/begining

    运行 node.js

    $ node server.js

    可以看到命令行有日志打印出来了,如下

    Server running at http://127.0.0.1:3000/

    4.查看搭建好的web服务器

    在浏览器输入 127.0.0.1:3000,刷新页面
    页面有sever.js打印的hello word
    一个简单的有请求有返回的五脏俱全的web服务器搭建成功

    关于示例的分析与总结


    1. 关于【创建web服务器】示例代码的分析

    /*
    * 加载【http】模块,该模块由javascript来编写
    * 职责是创建 web 服务器 及 处理http相关的任务等
    */
    const http = require('http');
    
    const hostname = '127.0.0.1';
    const port = 3000;
    
    // 通过 createServer 创建 web服务器
    const server = http.createServer((req, res) => {
      //req 请求体:获取请求相关的信息(请求来自哪里、是get还是post)
      //res 响应体:告诉服务器给请求响应什么内容
    
      // 设置响应的请求头状态码是200
      res.statusCode = 200;
      // 设置返回的文本类型:纯文本
      res.setHeader('Content-Type', 'text/plain');
      // 最后给客户端返回 hello world
      res.end('Hello World!\n');
    });
    // 通过 listen 监听端口 的请求
    server.listen(port, hostname, () => {
      console.log(`Server running at http://${hostname}:${port}/`);
    });
    

    2.node中体验js环境

    2.1 nodejs本质上javascript的执行环境
    • 在浏览器中体验js环境:

    打开控制台,切换到 console 的窗口,可以执行js逻辑,回车可得到结果

    var a=1;var b=2; function add(a,b){return a+b;} add(a,b);
    
    • 在node中体验js环境:

    退出sever.js程序运行 Ctrl+C
    进入node环境
    node
    输入js逻辑,回车可得到结果

    var a=1;var b=2; function add(a,b){return a+b;} add(a,b);
    
    2.2 两者不同之处
    • 他们所在的环境顶层,宿主所在的全局变量不太一样,如:

      浏览器里输入window,会出现window 的挂载属性等等;命令行输入window会报错
      node环境里输入process,会出现process的挂载属性等等;浏览器输入process会报错( [process]:nodeJs的一个模块,在此不做详细了解)

    目录

    NodeJs入门(一)--Node安装、版本管理
    NodeJs入门(二)--用nodejs搭建一个简单的web服务器

    nodeJS【入门】系列 会持续更新,后续将 推出【进阶】及【实战】系列,敬请期待......

    您的笔芯,将是我力量的源泉!

    相关文章

      网友评论

      • IT人故事会:经常看别人的分享.感谢别人的分享,感谢!关注了

      本文标题:NodeJs入门(二)--用nodejs搭建一个简单的web服务

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