zoukankan      html  css  js  c++  java
  • node.js 核心http模块,起一个服务器,返回一个页面


    let http=require("http"); //引入核心http模块 let fs=require("fs"); let mime={ '.js':'application/javascript', '.css':'text/css' } //创建一个函数,req代表客户端,res代表服务器可写流 let listener=(req,res)=>{ //res是可写流,有write和end if(req.url==="/"){ //设置编码 res.setHeader('Content-Type','text/html;charset=utf-8'); fs.createReadStream('index.html').pipe(res); }else{ if(fs.existsSync(`.${req.url}`)) { res.setHeader('Content-Type',mime[req.url.match(/.w+$/)[0]] +';charset=utf-8'); fs.createReadStream(`.${req.url}`).pipe(res); }else{ res.statusCode=404; res.end(); } } } let port=8080; //创建一个服务,放入一个监听函数, let server=http.createServer(listener); // server.listen(port,function () { //启动成功后 console.log(`start${port}`); })

     看上面代码,我们需要先创建三个文件

    index.html

    index.css

    index.js

    html文件里面,我们要引进css和js文件

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <!--服务端引用路径不支持相对路径-->
        <link rel="stylesheet" href="index.css">
        <script src="index.js"></script>
    </head>
    <body>
    <div>你好,帅吗</div>
    </body>
    </html>

    我们运行上面js文件时候,就会创建一个静态服务器,端口8080

    然后返回客户端一个index.html文件

    浏览器渲染这个html文件,我们对应的css和js就加载进去了

    ,其实上面写法不是很简便,node里面有模块解决路径获取后缀名的问题,还有路径问题

    let http=require("http");  //引入核心http模块
    let fs=require("fs");
    let mime=require("mime"); //解决文件类型
    let url=require("url");
    //创建一个函数,req代表客户端,res代表服务器可写流
    let listener=(req,res)=>{
    //res是可写流,有write和end
     let {query,pathname}=url.parse(req.url,true);
        if(pathname==="/"){
            //设置编码
            res.setHeader('Content-Type','text/html;charset=utf-8');
            fs.createReadStream('index.html').pipe(res);
        }else{
            if(fs.existsSync(`.${pathname}`)) {
                //mime 第三方包 npm install mime --save
                //mime.lookup可以通过文件路径后缀判断是什么类型的
                res.setHeader('Content-Type', mime.lookup(pathname)+';charset=utf-8');
                fs.createReadStream(`.${pathname}`).pipe(res);
            }else{
                res.statusCode=404;
                res.end();
            }
        }
    
    }
    let port=8080;
    //创建一个服务,放入一个监听函数,
    let server=http.createServer(listener);
    //
    server.listen(port,function () {
        //启动成功后
        console.log(`start${port}`);
    })
  • 相关阅读:
    js中的函数节流
    使用React写的一个小小的登录验证密码组件
    React如何进行事件传参
    微信小程序实现文字跑马灯
    正则表达式验证邮箱和手机号
    小程序事件传参
    漏覆盖专区
    jmetr _MD5加密_获取签名
    JMeter 中_time 函数的使用(时间戳、当前时间)
    获取响应数据___JSON Extractor 后置处理器
  • 原文地址:https://www.cnblogs.com/null11/p/7500861.html
Copyright © 2011-2022 走看看