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+"\n","utf8") 24 console.log("res=",res[index],isf,content) 25 } 26 } 27 })