• nodejs=>day_3


    一、express框架                                

     

    创建项目目录

    在项目的根目录下打开cmd命令行:

    npm init

    创建项目的package.json配置文件。其中有关于我们项目的一些信息。

     

    安装express模块

    npm install exress -save

    -save的意思是自动在package.json文件中为项目添加依赖关系。告诉使用者,该项目用到了哪些模块。

     

    1.路由:

    就是处理URL地址的Path部分的过程。

     

    路由的使用方式:

    app.get/app.post/app.put/app.use

     

     

    路径的精确匹配

    app.get(“/home”) 只能在浏览器上输入  /home,如果输入home1就无法匹配了。

                       每一个字符必须完全相同。

     

    路径的模糊匹配

             方式一:冒号模糊匹配

            

    取出冒号后面的参数的方式:

     

             方式二:正则表达式模糊匹配

     

    在浏览器中输入的路径,并不代表一定是某个文件。它只是一个字符串路径而已。

     

    路由匹配路径的时候,是从上到下匹配的,

    一旦上面能匹配成功,下方的路径就不会再被处理了。

     

    路径的原则:

      1. 精确的写前面
      2. 模糊的写后面

     

    2.中间件:

             就是在路由中处理请求的那个函数。

     

    标准定义方式:

             function(req,res,next){

    }

     

    req和res对象都是在http模块的req和res对象基础上再次封装的对象。

     

    标准使用方式:

    app.use(path, middleware);

    前面讲的get方法,是use方法的别名,但也有所区别:

      1. use方法可以处理子路径,不是精确匹配
      2. path可以省略,处理任意的路径。通常放在最后,用来返回404页面。

     

     

    之前搭建静态服务器的时候,就是使用的use方法:

          

    app.use(express.static(__dirname + "/static"));

    express.static(dir)是express框架提供的唯一一个中间件。

     

    这个中间件可以多次使用,以设置多个公共的静态文件目录

     

    中间件的两个对象:

    response对象:

          

      send()           发送响应,并结束请求

           sendfile()      下载文件

           download()  下载文件

           redirect()     重定向网络地址

       

           render();

    1. 下载模板引擎
    2. 设置模板引擎的路径
    3. 设置模板引擎的类型

    request对象:

     

           我们经常需要从该对象中取出关于请求的信息,express框架已经将参数转换为url对象了,

    我们可以直接访问,不必再使用url解析。

     

    get请求直接获取即可:

             req.query.username

     

    post请求使用formidble模块解析。

     

     

    3.模板:

    在express中使用模板:

      1、设置模板文件的放置路径

     

    2、设置模板引擎的类

    3、使用response对象的render发送动态文件

     

    二、MongoDB数据库

     

    MongoDB是一种非关系型数据库

     

    结构包括数据库集合文档

     

     

    Node.js连接数据库:

     

    安装和引入mongodb模块

     

    连接数据库服务器

     

    数据的操作 :

     

    插入数据

    insert / insertMany

     

    查询数据

    find()

     

    你好!如果你有什么更好的建议或意见,请在评论区留言。感谢你的阅读!
  • 相关阅读:
    163国内镜像源
    一个简单的springboot项目
    springcloud概述
    final关键字
    springboot项目多模块打包
    Unity Shaderlab: Object Outlines
    生命周期
    Unity内置事件
    Win10输入指示器关掉后自动恢复的问题
    Unity Shader-后处理:景深
  • 原文地址:https://www.cnblogs.com/YCxiaoyang/p/7517757.html
Copyright © 2020-2023  润新知