使用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 已存在,就先删除。
 var fs=require("fs")
var myfiles=__dirname+"/www/"
var myfile=__dirname+"/main.js"
//读取文件夹
fs.readdir(myfiles,function (err, res) {
if(err) throw err
// console.log(res)
//判断文件 main.js是否存在
var ishave=fs.existsSync(myfile)
console.log(ishave)
if(ishave){
fs.unlinkSync(myfile)
}
//循环所有的文件
for(index in res){
//过滤文件夹
var isf=fs.statSync(myfiles+res[index]).isFile();
//判断是文件还是文件夹
if(isf){
//读取文件内容
var content=fs.readFileSync(myfiles+res[index],"utf8")
//内容追加到main.js
fs.appendFileSync(myfile,content+"\n","utf8")
console.log("res=",res[index],isf,content)
}
}
})

最新文章

  1. js判断用户的浏览设备是移动设备还是PC
  2. snakebar 的使用
  3. Session失效之 IE iframe cookie问题(p3p)
  4. dubbo源码分析3-service bean的创建与发布
  5. (转) CCEditBox 编辑框
  6. cocos2d项目 打包apk 项目名称相关设置
  7. git 将本地项目添加到远程
  8. Nginx 403 forbidden的解决办法
  9. NIO组件Selector工作机制详解(上)
  10. 利用css进行网页布局
  11. Xcopy参数介绍
  12. 搭建solr单机版
  13. mysql-8.0.11安装步骤
  14. Hystrix 学习使用
  15. XMLHttpRequest.withCredentials
  16. python 全栈开发,Day13(迭代器,生成器)
  17. gpio模拟I2C,驱动pcf8574T
  18. MySQL核心之双一原则
  19. windows上apache是线程处理请求,linux上apache是进程处理请求
  20. break、continue、pass介绍

热门文章

  1. Linux系统中命令提示符解释-Linux中命令格式、分类-bash中的快捷键
  2. 【Henu ACM Round #13 D】A Trivial Problem
  3. SYSU 6356 Dispatching
  4. SQL char字段类型排序
  5. Android底层驱动开发(一)
  6. DuiVision开发教程(19)-菜单
  7. xml中控件调用构造方法
  8. 实用的 Python 包 —— 使用 win32 的剪贴板
  9. 57.NodeJS入门--环境搭建 IntelliJ IDEA
  10. Kinect 开发 —— 全息图