node中的Express框架怎么安装使用

这篇“node中的Express框架怎么安装使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“node中的Express框架怎么安装使用”文章吧。

Express框架

1.什么是框架

可以理解为是一条路,要遵守一定的规则,就会给咱们提供很多便利。为了规范开发流程,降低开发难度,提高开发效率而制定的一套共人们使用的功能模块或者是编程的约定。

2.express安装

  1. mkdir myapp 创建项目目录。

  2. cd myapp==>npm init。

  3. npm install express --save (可替换为[-S])。 

3.创建web服务

基本遵循之前的四个步骤:

  • 导入需要使用的express包

  • 创建web实例

  • 定义允许访问的地址 ( 路由 )

    • 原先的输出: res.end()

    • 使用express后的输出: res.send()

  • 启动服务 (监听端口)

//前提是安装好express,导包
let express=require('express');
//创建web服务
let app=express();

//配置路由
  //监听  get请求
  //req  请求对象
  //res  响应对象 
app.get("请求的URL",(req,res)=>{
    //逻辑
    //向客户端响应数据
    res.send({id:1,name:'张三'})
});
//监听post请求
app.post("请求的URL",(req,res)=>{
    //逻辑
});
......

//开启服务器
app.listen(8000,()=>{})

4.路由

接收发送请求,分析请求路径(pathname),分发到指定的位置。

由 :请求方式+请求路径

(1)get发送数据

查询字符串:?key=value&key=value

(2)get接收数据

Express中内置了一个API,可以直接通过request.query来获取。

request.query

// 在express中可以直接通过 request.query 来获取字符串参数
// http://127.0.0.1:4000/about?name=zhangsan&message=hello
app.get('/about',function (request,response) {
  console.log(request.query);
  response.send('关于我');
})

(3)get动态路由

/path/:id

接受数据:req.params

(4)post接收数据

在Express中没有内置获取 post 请求体的API,我们需要使用第三方插件 body-parser

安装 npm install body-parser

配置 body-parser

进行下方代码的配置,就会在 request 请求对象上就会多出来一个属性:body 我们就可以直接通过 request.body 来获取表单 POST 请求体的数据了

app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())

使用

var express = require('express')
var bodyParser = require('body-parser')

var app = express()

app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())

app.post('/about',function (request,response) {
  console.log(request.body);
})

(5)post传递数据

const express = require('express');
const app = express();
app.post('/api/post', function(req, res) {
  // 直接返回对象
  res.send({ name: 'abc' });
});
app.listen('8088', () => {
  console.log('8088');
});

5.模板引擎 

什么是模板引擎

模板引擎是一个将页面模板和要显示的数据结合起来生成HTML页面的工具。

引入模板引擎设置模板目录设置模板引擎渲染模板

app.render(viewname,data,callback)
原理
function render(tpl,data){
    return tpl.replace(/\{\{(\w+)\}\}/g,function(input,words){
        return data[words];
        })
}
var result = render('<h2>{{title}}</h2>',{title:'人生如此美好'})
在express中使用模板引擎
app.set('views','./views'); //设置模板存储位置
app.set('view engine','ejs'); //设置模板引擎
设置模板引擎后缀
app.set('views',path.join(__dirname,'views')); //设置模板存储位置
app.set('view engine','html');
app.engine('html',require('ejs').renderFile); //使用ejs模板引擎解析html
ejs的标签
  • <% &lsquo;Scriptlet&rsquo; 标签, 用于控制流,没有输出

  • <%= 向模板输出值(带有转义)

  • <%- 向模板输出没有转义的值

  • <%# 注释标签,不执行,也没有输出

  • <%% 输出字面的 &lsquo;<%&rsquo;

  • %> 普通的结束标签

语法
<% code %> //javascript代码
<%= code %> //显示替换过html的特殊字符内容
<%- code %> //显示原始html内容(支持标签)

<%= code %><%- code %>的区别,code为普通字符串两者没有区别,为标签时<%- code %>会显示标签效果

包含include

<% include header %>
<% include tpl/footer %>

自定义分隔符

app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
var ejs = require('ejs');
ejs.delimiter = '$';
app.engine('ejs',ejs.renderFile);

6.静态文件托管

设置静态托管:app.use( express.static ( ) )

本方法一定要写在具体的路由监听之前。

app.use(express.static('static'));
//让app实例去使用一些内容(常规的方法,也是一些中间件);
//express.static("public")中的参数是静态路由资源所在的目录的名字

//其还支持虚拟的前缀用于迷惑被人
app.use('/gjsgadjgajdgadgajdga',express.static('static'));

前缀的使用意义:

可以迷惑被人,一定程度上阻止被人猜测我的服务器的目录结构可以帮助我们更好的阻止和管理静态资源

以上就是关于“node中的Express框架怎么安装使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程之家行业资讯频道。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“基于nodejs...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建”,内容详细,步骤清晰,细节处理妥当,希望这篇“nodejs怎么实现目录不存在自动创建”文章能帮助大...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“nodejs如何实现定时删除文件”文章能帮助大家解决疑惑...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文...
本篇内容主要讲解“怎么安装Node.js的旧版本”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎...
这篇“node中的Express框架怎么安装使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家...
这篇文章主要介绍“nodejs如何实现搜索引擎”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“nodejs如何实现搜索引擎...
这篇文章主要介绍“nodejs中间层如何设置”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“nodejs中间层如何设置”文...
这篇文章主要介绍“nodejs多线程怎么实现”,在日常操作中,相信很多人在nodejs多线程怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法...
这篇文章主要讲解了“nodejs怎么分布式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nodejs怎么分布式”...
本篇内容介绍了“nodejs字符串怎么转换为数组”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情...
这篇文章主要介绍了nodejs如何运行在php服务器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇nodejs如何运行在php服务器文章都...
本篇内容主要讲解“nodejs单线程如何处理事件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“nodejs单线程如何...
这篇文章主要介绍“nodejs怎么安装ws模块”,在日常操作中,相信很多人在nodejs怎么安装ws模块问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法...
本篇内容介绍了“怎么打包nodejs代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!
本文小编为大家详细介绍“nodejs接收到的汉字乱码怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“nodejs接收到的汉字乱码怎么解决”文章能帮助大家解...
这篇“nodejs怎么同步删除文件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇...
今天小编给大家分享一下nodejs怎么设置淘宝镜像的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希