这篇“node中的Express框架怎么安装使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“node中的Express框架怎么安装使用”文章吧。
可以理解为是一条路,要遵守一定的规则,就会给咱们提供很多便利。为了规范开发流程,降低开发难度,提高开发效率而制定的一套共人们使用的功能模块或者是编程的约定。
mkdir myapp 创建项目目录。
cd myapp==>npm init。
npm install express --save (可替换为[-S])。
基本遵循之前的四个步骤:
导入需要使用的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,()=>{})
接收发送请求,分析请求路径(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'); });
模板引擎是一个将页面模板和要显示的数据结合起来生成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:'人生如此美好'})
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
<% ‘Scriptlet’ 标签, 用于控制流,没有输出
<%= 向模板输出值(带有转义)
<%- 向模板输出没有转义的值
<%# 注释标签,不执行,也没有输出
<%% 输出字面的 ‘<%’
%> 普通的结束标签
<% 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);
设置静态托管:app.use( express.static ( ) )
本方法一定要写在具体的路由监听之前。
app.use(express.static('static')); //让app实例去使用一些内容(常规的方法,也是一些中间件); //express.static("public")中的参数是静态路由资源所在的目录的名字 //其还支持虚拟的前缀用于迷惑被人 app.use('/gjsgadjgajdgadgajdga',express.static('static'));
前缀的使用意义:
可以迷惑被人,一定程度上阻止被人猜测我的服务器的目录结构可以帮助我们更好的阻止和管理静态资源
以上就是关于“node中的Express框架怎么安装使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。