express和module

express

简介:
Express 是一个简洁而灵活的 node.js Web应用框架, 提供一系列强大特性帮助你创建各种Web应用。Express 不对 node.js 已有的特性进行二次抽象,我们只是在它之上扩展了Web应用所需的功能。丰富的HTTP工具以及来自Connect框架的中间件随取随用,创建强健、友好的API变得快速又简单。

功能及应用
使用 Express 可以快速地搭建一个完整功能的网站。
Express 框架核心特性:
可以设置中间件来响应 HTTP 请求。
定义了路由表用于执行不同的 HTTP 请求动作。
可以通过向模板传递参数来动态渲染 HTML 页面。

express的静态
1.导入express模块

const express = require("express");

2.创建服务器

const app = express();

3.静态资源托管(如下图所示)

app.use(expresss.static("static"))
app.use(expresss.static("public"))

4.开启监听
app.listen(4399) 括号里是端口号,可自定义,但不可省略

静态express应用
public的html执行的内容public文件夹
static的html执行的内容
static文件夹

路由的使用

介绍
路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET、POST 等) 组成的,涉及到应用如何响应客户端对某个网站节点的访问

他有两种方式:get 和post
使用之前先要创建服务器(app),如静态步骤
get语法:

app.get("网址(根据需求自定义)",(req,res) =>{
根据需求写代码
})

**注意:**使用get的方式和获取参数,获取不到,是因为他不是在url传数据
post语法:

app.post("网址(根据需求自定义)",(req,res) =>{
根据需求写代码
})

路由的应用

1.导入express模块

const express = require(“express”);

querystring 模块提供用于解析和格式化 URL 查询字符串的实用工具
const querystring = require("querystring ");

2.创建服务器

const app = express();

3.get 
app.get("/search",(req,res) =>{
    console.log(req);
    console.log(req.query);
    res.send("/search")
})

post
app.post("/add",(req,res) => {
   注意:使用get的方式和获取参数,获取不到,是因为他不是在url传数据
    console.log(req);
    console.log(req.query);

    var str = "";
    req.on("data",data => {
        str += data;
    })

    req.on("end", () => {
        console.log(str);
        var data = querystring.parse(str)
        console.log(data);
        
    })
    res.send("/add");
})

4.开启监听
app.listen(4399) 括号里是端口号,可自定义,但不可省略

最后在页面调用这些接口即可,但在之前,最好先测试一下这个接口有没有问题,避免后续问题

中间件
注册中间件:app.use(bodyParse.urlencoded({ extend : false}))

在注册之前,还必须要倒入包

const bodyParser = require("body-parser");

中间件使用
无论怎能改,1,2,4步必写,但要按照需求增加和改变
第一步:导入所需要的包
第二步:创建服务器
第三步:注册中间件
第四步:监听

注册中间件:

第一步:导入所需要的包
var express = require('express');
第二步:创建服务器
var app = express();

第三步:注册中间件
app.use(function(req,res,next){
    console.log('go');
    
    继续执行下一个中间件里面的回调函数
    如果去掉next方法,那么  服务器的响应就会终止
    下面的也就不会运行了
    
    next()
})

app.use(function(req,res,next){
    console.log('吃饭');
    req.query.caiMing = "土豆炒洋葱";fffo;f 
    console.log(req.query);
    next()
})

第四步:监听
app.listen(3000)

注意点:
req是请求对象
注册了很多个中间件 里面的req对象都是同一个
那么res 响应对象 也是同一个
next 是继续往下执行下一个如果没有,那么就只会找到最后一次出现的next哪里

module

定义:模块(Module)是一种把方法、类和常量组合在一起的方式。
优点:模块提供了一个命名空间和避免名字冲突。
模块常量命名:与类常量命名类似,以大写字母开头。方法定义看起来也相似:模块方法定义与类方法定义类似。

module.export
module.exports 对象是由模块系统创建的。在我们自己写模块的时候,需要在模块最后写好模块接口,声明这个模块对外暴露什么内容,module.exports 提供了暴露接口的方法。

下面是代码:

模块A:

var name = "新兰永恒"
const sayHi = function(){
    console.log("hello");
}

module.exports = {
    age : 12,
    jump(){
        console.log("pppp");
    },
    name,
    sayHi
}

模块B:

const moduleA = require("./moduleA")
module.exports = function(){
    console.log("他长得真真帅");
}

使用:

const  moduleA = require("./moduleA");

const  moduleB = require("./moduleB");

// console.log(moduleA);
console.log(name);

console.log(moduleA.age);  12
moduleA.jump();  pppp

moduleA.sayHi();   hello

console.log(moduleB);  [Function]
moduleB();   他长得真真帅
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值