zoukankan      html  css  js  c++  java
  • nodejs=>day_2

    一、第三方模块安装                                

    本地安装:

          npm install xxxx

    全局安装:

           npm install xxxx -g

     

    安装模块时,用什么方式:

     

    如果模块需要被当作全局命令来使用,就全局安装

    如果只是引入使用,就本地安装。

     

    url网址字符串的解析:

    url模块 :

    parse方法:是将整个url字符串转换为对象

           如果第二个参数为true,参数部分也会被转换为对象。

    format方法:功能相反

     

    querystring模块:

    parse方法:将参数部分转换为对象

    stringify():功能相反

     

     

    post请求和get请求的区别:

     

    post请求的参数会封装在请求体中,比较安全

    get请求的参数直接添加在请求的url中。

     

           原生方式处理post请求:

          

           req.on(“data”,function(chunk){

    })

     

    req.on(“end”,function(chunk){

          

    })

     

    二.mime模块

     

    该模块用于设置文件的MIME类型,

    使用方法:

    var   mime = require(“mime”);

          var  mimiType = mime.lookup(filePath)

     

    MIME类型:

    因为服务器和客户端之间通信的数据是二进制。因此,如果服务器返回文件给客户端,不设置文件的MIME类型,那么浏览器不知道应该怎么处理传过来的数据。

    为了使所有的浏览器都能正确处理文件,服务器在返回数据的时候,需要在响应头上添加文件的MIME类型:

    {

                “Content-type”:”text/html”

    }

     

    三.formidable模块

     

    原生的Node.js处理POST请求比较复杂,Node将请求体分成多个数据块进行接收。

    需要监听request对象的data事件和end事件。

     

    为了简化POST请求和文件提交,formidable模块将表单处理进行了封装和优化。

    使用方法:

    var formidable = require(“formidable”);

      //创建表单处理对象
    var form = new formidable.IncomingForm();
      //设置文件上传的路径
    form.uploadDir = __dirname + "/upload";

    form.parse(req, function(err, fields, files) {

    //从fileds中取出字符串参数
    var username = fields.username;
    var passwd = fields.passwd;

    //将上传的文件的名字改成上传之前的文件名
    fs.rename(files.myicon.path, __dirname + "/upload/" + files.myicon.name, function(err) {
      if (err) {
        console.log(err);
      } else {
        console.log("修改文件名字成功!");
      }
    });
    //从files中取出文件
    console.log(files.myicon);
    res.end();

    }

     

    四.ejs模块

     

    http模块除了可以搭建静态站点以外,还可以生成动态网页。一般和模板引擎一起使用。常用的模板引擎有ejs,jade等。

     

    模板引擎的工作原理:

     

     

    Node.js中使用ejs生成动态页面步骤:

     

    1. 准备数据
    2. 准备模板文件
    3. 读取模板文件内容,
    4. 使用ejs的render方法生成html页面
    5. 将动态返回给客户端

          

    你好!如果你有什么更好的建议或意见,请在评论区留言。感谢你的阅读!
  • 相关阅读:
    模板方法模式
    LINQ多条件OR模糊查询
    在LINQ中实现多条件联合主键LEFT JOIN
    js只显示整点
    Vue-cli2中处理跨域
    vue动态绑定类(实现tab)
    Vue中引入cdn同时防止cdn挂掉
    vue+nginx开启gzip压缩
    Vue路由守卫
    vue-router嵌套路由和二级目录(域名)
  • 原文地址:https://www.cnblogs.com/YCxiaoyang/p/7512025.html
Copyright © 2011-2022 走看看