zoukankan      html  css  js  c++  java
  • node.js入门1

    参考:

    Node入门 » 一本全面的Node.js教程  https://www.nodebeginner.org/index-zh-cn.html

    用node.js实现简单的web服务器 - loogn - 博客园  https://www.cnblogs.com/loogn/p/3362475.html

    安装:

    https://nodejs.org/en/ 下载64位安装。安装完后,会添加node.js和node.js command prompt。

    Hello World:

    编辑一个hello.js文件,内容只有一句

    console.log("Hello World");

    运行

    node hello.js

    一个完整的基于node.js的web应用

    1、服务器模块

    项目的根目录下创建一个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);

    运行node server.js,打开浏览器访问http://localhost:8888/,浏览器会出现Hello World。

    包装server.js变成模块

    var http = require("http");
    function start() {
      function onRequest(request, response) {
        console.log("Request received.");
        response.writeHead(200, {"Content-Type": "text/plain"});
        response.write("Hello World");
        response.end();
      }
      http.createServer(onRequest).listen(8888);
      console.log("Server has started.");
    }
    exports.start = start;

    创建index.js,内容

    var server = require("./server");
    server.start();

    2、路由

    改写server.js

    var http = require("http");
    var url = require("url");
    function start() {
      function onRequest(request, response) {
        var pathname = url.parse(request.url).pathname;
        console.log("Request for " + pathname + " received.");
        response.writeHead(200, {"Content-Type": "text/plain"});
        response.write("Hello World");
        response.end();
      }
      http.createServer(onRequest).listen(8888);
      console.log("Server has started.");
    }
    exports.start = start;

    新建route.js文件

    function route(pathname) {
      console.log("About to route a request for " + pathname);
    }
    exports.route = route;

    使用依赖注入改写server.js

    var http = require("http");
    var url = require("url");
    function start(route) {
      function onRequest(request, response) {
        var pathname = url.parse(request.url).pathname;
        console.log("Request for " + pathname + " received.");
        route(pathname);
        response.writeHead(200, {"Content-Type": "text/plain"});
        response.write("Hello World");
        response.end();
      }
      http.createServer(onRequest).listen(8888);
      console.log("Server has started.");
    }
    exports.start = start;

    相应的index.js也要改写

    var server = require("./server");
    var router = require("./router");
    
    server.start(router.route);
  • 相关阅读:
    你应该了解Nginx的7个原因
    linux 中php以及nginx的重启命令
    HTTP 长连接和短连接
    git常用命令
    Linux 防火墙开放特定端口 (iptables)
    redis配置文件相关
    关于解决emoji表情的存储
    文件内容统计——Linux wc命令
    Git 服务器搭建
    关于微信二次分享,描述变链接的解决方法(一)----文档说明
  • 原文地址:https://www.cnblogs.com/fishope/p/10851775.html
Copyright © 2011-2022 走看看