• Nodejs入门级


    应用不同模块分析

    我们来分解一下这个应用,为了实现一个应用,我们需要实现哪些部分呢?

    • 我们需要提供Web页面,因此需要一个HTTP服务器
    • 对于不同的请求,根据请求的URL,我们的服务器需要给予不同的响应,因此我们需要一个路由,用于把请求对应到请求处理程序(request handler)
    • 当请求被服务器接收并通过路由传递之后,需要可以对其进行处理,因此我们需要最终的请求处理程序
    • 路由还应该能处理POST数据,并且把数据封装成更友好的格式传递给请求处理入程序,因此需要请求数据处理功能
    • 我们不仅仅要处理URL对应的请求,还要把内容显示出来,这意味着我们需要一些视图逻辑供请求处理程序使用,以便将内容发送给用户的浏览器
    • 最后,用户需要上传图片,所以我们需要上传处理功能来处理这方面的细节

    注:使用Node.js时,我们不仅仅在实现一个应用,同时还实现了整个HTTP服务器

     

    构建应用的模块

    把不同功能的代码放入不同的模块中,保持代码分离,保持代码的可读性。必须有一个干净的主文件 index.js,和一个保存着HTTP服务器代码的模块 server.js

    在你的项目的根目录下创建一个叫server.js的文件,并写入以下代码:

    var http = require("http");
    
    http.createServer(function(request, response) {
      response.writeHead(200, {"Content-Type": "text/plain"});
      response.write("Hello World");
      response.end();
    }).listen(8888);    //打开浏览器访问 http://localhost:8888/
    或者:listen(1337, "127.0.0.1"); //打开浏览器访问 http://127.0.0.1:1337/
    命令行:node server.js
    打开浏览器访问地址,会看到一个写着“Hello World”的网页。

    代码逻辑:

       1. 全局方法 require() 是用来导入模块的,一般直接把 require() 方法的返回值赋值给一个变量,在 JavaScript 代码中直接使用此变量即可 。require("http") 就是加载系统预置的 http 模块。

       2. http.createServer 是模块的方法,目的就是创建并返回一个新的web server对象,并且给服务绑定一个回调,用以处理请求。

       3. 通过 http.listen() 方法就可以让该 HTTP 服务器在特定端口监听。

  • 相关阅读:
    RabbitMQ系列2 RabbitMQ安装与基础入门
    RabbitMQ系列1 什么是MQ
    数据结构与算法系列1之数组介绍与动态数组实现
    数据结构与算法系列3之从内存角度分析数组与链表的区别
    Dubbo学习
    Can't locate Pod/Text.pm问题分析及解决
    “画饼”陷阱论
    自述
    结构光、立体视觉、ToF三种3D传感原理
    游侠郭解是如何被无脑粉坑死的?
  • 原文地址:https://www.cnblogs.com/luwanying/p/10975116.html
Copyright © 2020-2023  润新知