zoukankan      html  css  js  c++  java
  • node基础09:第2个node web服务器

    1.同时输出文字与图片

    在前几个小课程中,我会学会了

    1. 从服务器中读取文字字符,并且向浏览器中输出
    2. 从服务器中读取图片文件,并且向浏览器中输出

    这节课中,我学会了同时向浏览器输出文字,图片。对此,我感到欣喜若狂。你无法想象对我来讲,在没有任何node的环境下,摸索这些有多么困难,因为我身处一个小公司,实在不能再小了,只有我一个前端。不多说废话了,反正今天时非常值得纪念的一天。

    代码如下:

    //server.js
    var http = require('http');
    var url = require('url');
    var router = require('./router');
    
    http.createServer(function(req, res){
        if (req.url!=='/favicon.ico') {
            pathname=url.parse(req.url).pathname.replace(///,'');
            console.log(pathname);
            router[pathname](req,res);//暂时确保url带有pathname,否则会报错
        }
    }).listen(3000);
    console.log(' server running at http://127.0.0.1:3000')
    // router.js
    var fs = require('fs');
    module.exports = {
        login:function(req, res){
            res.writeHead(200, {'Content-Type':'text/html;charset=utf-8'});
            fs.readFile('./login.html',function(err, data){
                if (err) {
                    console.log(err);
                    return;
                } else{
                    console.log("开始读取login.html");
                    res.write(data);
                    res.end();//写在互调函数外面会报错的哟
                }
            })
        },
        register:function(req, res){
            res.writeHead(200, {'Content-Type':'text/html;charset=utf-8'});
            fs.readFile('./register.html',function(err, data){
                if (err) {
                    console.log(err);
                    return;
                } else{
                    console.log("开始读取login.html");
                    res.write(data);
                    res.end();//写在互调函数外面会报错的哟
                }
            })
        },
        showImage:function(req, res){
            res.writeHead(200, {'Content-Type':'image/jpeg'});
            fs.readFile('./test.png',function(err, data){
                if (err) {
                    console.log(err);
                    return;
                } else{
                    console.log("开始读取图片");
                    res.write(data);
                    res.end();//写在互调函数外面会报错的哟
                }
            })
        }
    }
  • 相关阅读:
    Free HTML5 Bootrap Admin Template
    js框架简明
    ELKF(Elasticsearch+Logstash+ Kibana+ Filebeat) 部署
    docker-构建 oracle12c-r2(12.2.0.1) 的镜像
    线上故障排查——drools规则引擎使用不当导致oom
    抓住业务核心,避免过度抽象
    Disruptor的应用示例——大文件拆分
    Disruptor3.0的实现细节
    Disruptor——一种可替代有界队列完成并发线程间数据交换的高性能解决方案
    大文件拆分方案的java实践(附源码)
  • 原文地址:https://www.cnblogs.com/noper/p/6248441.html
Copyright © 2011-2022 走看看