11.Apache

var http = require('http')
var fs = require('fs')
var server = http.createServer('request',function(req,res){
var url = req.url
var wwwDir = 'D:/www'
if(url === '/'){
fs.readFile(wwwDir + '/b.txt',function(err,data){
{//反斜杠换为斜杠。//if(err){
//res.end('404')
//}
//else{
//}
if(err){
return res.end('404 not found')
//return在这里的作用:阻止代码继续运行。相当于跳出。
}
res.end(data)

})
}
else if(url === '/a.txt'){
}
else if(url ==='/b.html'){
}
})
server.listen(3000,function(){
console.log('服务器已启动')
})

在文件夹中新添一个文件,如果想要访问它的话,就需要修改代码-----很麻烦,如何简化?

  url = /a.txt    访问 = D:/www/a.txt

  url = /b.html 访问 = D:/www/b.html

var http = require('http')
var fs = require('fs')
var server = http.createServer('request',function(req,res){
var url = req.url
var wwwDir = 'D:/www'
var filePath = '/index.html'
if(url !== '/'){
filePath = url
}
fs.readFile(wwwDir + filePath , function(err,data){
if(err){
return res.end('404')
}
res.end(data)
})
})
server.listen(5000,function(){
console.log('服务器已启动')
})

 

文件夹下有index,则显示index。没有index,则显示目录列表

如何得到wwwDir目录列表中的文件名和目录名

fs.readdir('文件路径,注意正斜杠',function(err,files){})

如何将得到的文件名和目录名替换到 template.html 中

(01.模板引擎)

   02.在template.html中需要替换的位置预留一个特殊标记。根据files生成需要的html内容

 

替换----普通的字符串解析替换

data = data.toString()  //变成字符串

data = data.replace('mm' , 'pp')   //在data里找到mm替换为pp

var http = require('http')
var fs = require('fs')
var server = http.createServer('request',function(req,res){
  var url = req.url
  var wwwDir = 'D:/www'
  fs.readFile('./template.html',function(err,data){
       if(err){
       return res.end('404')
       }  
       fs.readdir(wwwDir , function(err ,files){
            if(err){
                  return res.end('can not find wwwDir')
            }
            var content = ''
            files.forEach(function (item){
                       // content += `   //要循环输入的内容   `  
                      //反引号---反引号中的拼接${}  ---如  `  hire ${item} feijji `  ==item的值被拼接到content中
                     // content += `
                       <tr><th><font color="white" size="2">${ item }</font></th><tr>  
                     `
            })
            data = data.toString()  //变成字符串
            data = data.replace('^_^' , content)
            res.end(data)
      })
  })
})
server.listen(3000,function(){
console.log('服务器已启动')
})

//  这种方式不好,字符串太麻烦

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值