美文网首页
Node.js学习之路day3

Node.js学习之路day3

作者: zkhChris | 来源:发表于2017-09-28 00:21 被阅读0次

1.只会helloworld的服务器

http模块提供了request对象和response对象。
request对象封装了http请求,通过调用request对象的属性和方法,可以拿到http请求相关的信息。
response对象封装了http响应,操作response对象的方法可以返回http响应。
一个简单的helloworld栗子

let http=require('http')
//创建服务器对象
let server=http.createServer(function(request,response){
    console.log('first node server')
    //http响应200
    response.writeHead(200,{'content-Type':'text/html'})
    //响应内容为helloworld
    response.write('<p>helloworld</p>')
    response.end()
})
server.listen(8080)

终端使用node test.js命令运行,打开浏览器localhost:8080

image.png

2.可返回文档的服务器

可以解析请求中得url,从url分析到对应的文件名,将本地的对应文件返回即可
这里需要引入url模块,path模块,以及前两篇博客里的fs模块
代码及注释如下

let http=require('http')
let fs=require('fs')
let url=require('url')
let path=require('path')
let server=http.createServer(function(request,response){
   let p=url.parse(request.url).pathname   //获得url中的文件路径
   let root = path.resolve(process.argv[2] || '.');//获得当前目录的路径
   let currentPath=root+p  //拼接路径
   fs.stat(currentPath,function(err,stat){
     if(!err&&stat.isFile()){   //没有出错并且文件存在
       response.writeHead(200)
       fs.createReadStream(currentPath).pipe(response)  //以管道流形式传输给response
     }else{
       response.writeHead(404)
       response.end('<p>404</p>')
     }
   })
})
server.listen(8080)

读取txt

image.png

读取html

image.png

404

image.png

相关文章

  • Node.js学习之路day3

    1.只会helloworld的服务器 http模块提供了request对象和response对象。request对...

  • Node.js学习之路day1

    前端菜鸡记录自己的node.js学习之路,与大家共勉 1.从HelloWorld写起 node test输出hel...

  • node.js学习之路一(基础)

    1.模块化的优点:低耦合 高内聚 方便维护 防止代码冲突(命名冲突)2.nodejs实现模块化是用闭包。3.CM...

  • node.js学习之路二(基础)

    关于http 3.在本地服务读写文件 也可以通过流的方式,(pipe)对象简写 查看请求路径 如下:如果访问的是'...

  • 一个有自我要求的读者的修养

    如何阅读一本书 Day3 基础阅读: 基础阅读层次中,从学习阅读的角度出发包含着四个阶段,一个人的学习阅读之路也直...

  • 看iOS的 Node.js 进阶之路 之 ECMAScript(

    看iOS的 Node.js 进阶之路 之 ECMAScript(ES6) 篇 @author Jou Email ...

  • 《丝绸之路》

    第三四章基督之路,变革之路 ✔7.17 Day3 p39—p67 “罗马的崩溃使得亚洲的基督徒在教义的争论上占据了...

  • Node.js学习之路day2

    1. node Buffer 处理tcp,文件等流的时候,必须要用到二进制数据,node的Buffer就是一个专门...

  • 21天|禾叶组合《如何学习》

    【Day3】今日学习《如何学习》第四章 day3 分散式学习 现在是考试周前的最后三天,学生们都在刻苦复习,迎接考...

  • 何时间做朋友DAY3

    【30天蜕变】DAY3 2019.08.20 蜕变之路每日复盘模板: ①早起篇(早起做了哪些事情?感受和收获是什么...

网友评论

      本文标题:Node.js学习之路day3

      本文链接:https://www.haomeiwen.com/subject/jytpsxtx.html