美文网首页
2.根据路径的不同发送请求

2.根据路径的不同发送请求

作者: warmT_ | 来源:发表于2017-12-03 21:17 被阅读0次
  • fs:file System
    • 读取文件:fs.readFile(文件路径,function(err,err){})
      1. 读取static下的文件
      const http = require('http');
      const fs=require('fs');
      const server = http.createServer(function (req, res) {
        if (res.url == 'favicon.ico') {
          return;
        }
        //读取static下的文件
        fs.readFile('./static/1.txt',function(err,data){
          if(err){
            res.end('404');
          }
          res.writeHeader('200',{'Content-Type':'text/html;charset:UTF-8'});
          res.end(data)
        });
      }).listen(8080);
      
      结果:当页面运行http://localhost:8080/1.txt,会显示static文件夹下1.txt的文件内容,如果我要显示static文件夹下其他文件,会发现我页面显示的内容还是1.txt里面的文件内容;
      image.png
      image.png
      1. 在static文件下,根据不同路径,读取不同的内容
      const http = require('http');
      const fs=require('fs');
      const server = http.createServer(function (req, res) {
        if (res.url == 'favicon.ico') {
          return;
        }
        //根据路径的不同,返回不同的内容
        let pathname = './static' + req.url;
        fs.readFile(pathname,function(err,data){
          if(err){
            res.end('404');
          }
          res.writeHeader('200',{'Content-Type':'text/html;charset:UTF-8'});
          res.end(data)
        });
      }).listen(8080);
      
      
      结果:当我在浏览器输入http://localhost:8080/1.txt就会显示1.txt文件里面的内容,路径改为2.txt 就会显示相应文件的内容
      image.png

![image.png](https://img.haomeiwen.com/i6024959/6ed84837bd4cbc94.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
- 注意:
1. nodejs不会根据根据路由的不同,渲染不同的内容,他需要我们自己去判断路径的不同,来手动返回不同的内容;
2. 如果不想反复重启服务器,而又想输入不然同的内容,渲染不同页面,可以使用读取文件和处理路径的方式来解决

  • 写文件:fs.writeFile('路径','修改后的内容',function(err){})
const http = require('http');
const fs = require('fs');
http.createServer((req, res) => {

  fs.writeFile('./static/1.txt', '修改后的1文件', (err) => {
    if (err) {
      res.end('写入失败')
    }
    res.end();
  })
}).listen(8080);

结果:


image.png
  • 读取当前文件夹下所有的文件和目录fs.readdir(path,function(err,files){})
  • fs.stat(path,function(err,stats){})
    • stats.isFile()判断是否为文件
    • stats.isDirector() 判断是否为文件夹
      列子:获取当前文件夹下所有的文件夹
    const http = require('http');
    const fs = require('fs');
    const server = http.createServer((req, res) => {
      if(res.url=='favicon.ico'){return;}
      let aryDir=[];
      fs.readdir('./', (err, files) => {
        console.log(files);
        (function Iterator(index) {
          if(index>=files.length){
            console.log(aryDir);
            return;
          }
          fs.stat('./'+files[index],(err,stats)=>{
            if(stats.isDirectory()){
              aryDir.push(files[index]);
            }
            Iterator(++index);
          })
    
        })(0);
      });
      res.end();
    }).listen(9999);
    

结果:


image.png

相关文章

  • 2.根据路径的不同发送请求

    fs:file System读取文件:fs.readFile(文件路径,function(err,err){})读...

  • 74. 前端路由

    1. 浏览器发送请求的流程 2. 前端路由的原理 匹配不同的url路径进行解析,然后动态的渲染出不同的内容,但是当...

  • Request 发送http请求

    Request 发送http请求 1.在eclipse 下新建文件 2.发送不同类型的http请求 import ...

  • 简单-从URL到页面展现发生了什么

    web本质 用户请求远程资源 浏览器查找远程资源,打包用户请求发送 服务器根据用户请求的资源路径以及附带参数,配合...

  • Web45.HTTP

    web本质 用户请求远程资源 浏览器查找远程资源,打包用户请求并发送 服务器根据用户请求的资源路径及附带参数,配合...

  • iOS-->有关NSURLConnection

    NSUrlConnection 使用NSURLConnection发送请求的步骤: ①设置请求路径 ②创建请求对象...

  • 从URL到页面呈现发生了什么?

    web本质是什么呢? 用户请求远程资源 浏览器查找远程资源,打包用户请求并发送 服务器根据用户请求的资源路径及附带...

  • 常见的HTTP请求头

    常见的HTTP请求头 @(HTTP协议) 当浏览器发送请求给服务器时,根据功能需求的不同,发送的请求消息头也不相同...

  • angularJs 路由

    设置好请求路径所展示的网页根据用户的请求路径,跳转到不同的页面 要先安装 angular-route 命令请看官网...

  • 开发中常用的网络请求方法和状态码

    一、请求方法 客户程序向服务器发送的请求可以有不同的类型,这样服务器可以根据不同的请求类型进行不同的处理。 GET...

网友评论

      本文标题:2.根据路径的不同发送请求

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