zoukankan      html  css  js  c++  java
  • node.js服务器核心http和文件读写

    使用htpp给客服端的数据,把数据交给浏览器渲染.利用 http创建服务器,如客户端请求为:127.0.0.1:3000或127.0.0.1:3000/xxx.html时 ,判断www文件夹中,文件 index.html或xxx.html页面是否存在,如存在则返回给客户端相应的文件内容。如文件不存在,则将 www文件夹中的 err.html返回给客户端。
    var http=require("http")
    var fs=require("fs")
    var path=require("path")
    var page=["home.html","404.html"]   //定义首页与404页面
    //设计一个用于同步读取文件的函数
    function readhtml(url) {
        console.log("当前地址1",url)
        if(url==path.join(__dirname,"template","\")){ //如果传入的是根目录,则返回 HOME.HTML
            url=path.join(__dirname,"template",page[0])
        }
        var ishave=fs.existsSync(url)  //判断文件是否存在
        if(!ishave){ //如果文件不存在 返回给用户404页面
            url=path.join(__dirname,"template",page[1])
        }
        return fs.readFileSync(url,"utf8")   //同步读取相应文件内容
    }
    //创建服务  request 用户请求   response 返回给用户数据;  response.end() 返回数据完成;
    http.createServer(function (request, response) {
        console.log(request.url)
        //同步读取网页的内容
        var content= readhtml(path.join(__dirname,"template",request.url))
        response.write(content)
        response.end()
    }).listen(3000,function (err) {  //监听端口
        if(err) throw err
        console.log("服务开始: http://127.0.0.1:3000")
    })
    fs文件读写判断,利用js模块,完成打包操作。即读取www文件夹,获取www文件夹里面的文件名列表。如果是文件,将其内容添加到main.js文件中,如果再循环开始main.js 已存在,就先删除。
     1 var fs=require("fs")
     2 var myfiles=__dirname+"/www/"
     3 var myfile=__dirname+"/main.js"
     4 //读取文件夹
     5 fs.readdir(myfiles,function (err, res) {
     6     if(err) throw err
     7     // console.log(res)
     8     //判断文件 main.js是否存在
     9     var ishave=fs.existsSync(myfile)
    10     console.log(ishave)
    11     if(ishave){
    12         fs.unlinkSync(myfile)
    13     }
    14     //循环所有的文件
    15     for(index in res){
    16         //过滤文件夹
    17         var isf=fs.statSync(myfiles+res[index]).isFile();
    18         //判断是文件还是文件夹
    19         if(isf){
    20             //读取文件内容
    21             var content=fs.readFileSync(myfiles+res[index],"utf8")
    22             //内容追加到main.js
    23             fs.appendFileSync(myfile,content+"
    ","utf8")
    24             console.log("res=",res[index],isf,content)
    25         }
    26     }
    27 })
  • 相关阅读:
    Scrapy
    关于函数名称和库函数名称冲突的故事
    Hibernate的一级缓存
    spring-mvc 与 openid4java
    openid4java 使用记录[转载]
    Linux定时任务Crontab详解_定时备份
    Spring的线程池ThreadPoolTaskExecutor使用案例
    BZOJ4275 : [ONTAK2015]Badania naukowe
    BZOJ4137 : [FJOI2015]火星商店问题
    BZOJ2832 : 宅男小C
  • 原文地址:https://www.cnblogs.com/weblife/p/10253557.html
Copyright © 2011-2022 走看看