温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

nodejs渐入佳境[15]-express框架

发布时间:2020-07-20 08:52:19 阅读:241 作者:jonson_jackson 栏目:开发技术
前端开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

最简单的服务器

12345678910111213141516171819202122
const express = require('express');var app = express();//返回html格式app.get('/',(req,res)=>{  res.send('<h2>Hello world</h2>');});//返回json格式app.get('/fast',(req,res)=>{  res.send({      name:'json',      likes:[        'reading',        'coding'      ]  });});//监听端口app.listen(3000);

访问:
localhost:3000
localhost:3000/fast

访问静态文件

创建public/help.html

12345678910
<!DOCTYPE html><html lang="en" dir="ltr">  <head>    <meta charset="utf-8">    <title></title>  </head>  <body>    <h2>Hello Jonson</h2>  </body></html>

express.js:

12345678910111213141516171819202122232425
const express = require('express');var app = express();// 参数是一个middlewareapp.use(express.static(__dirname +'/public'));//返回html格式app.get('/',(req,res)=>{  res.send('<h2>Hello world</h2>');});//返回json格式app.get('/fast',(req,res)=>{  res.send({      name:'json',      likes:[        'reading',        'coding'      ]  });});//监听端口,  第二个回调是开启服务器后调用app.listen(3000,()=>{  console.log('hello jonson');});

访问:
http://localhost:3000/help.html
会打开public/help.html的页面并显示出来。

动态注入 express template engines

1
npm install --save hbs

新建views/about.hbs:

1234567891011
<!DOCTYPE html><html dir="ltr">  <head>    <meta charset="utf-8">    <title></title>  </head>  <body>    <h2>{{currentYear}}</h2>    <footer>{{pageTitle}}</footer>  </body></html>

express.js:

1234567891011121314151617181920212223242526272829303132333435363738
const express = require('express');const hbs = require('hbs');var app = express();app.set('view engine','hbs');// 参数是一个middlewareapp.use(express.static(__dirname +'/public'));//返回html格式app.get('/',(req,res)=>{  res.send('<h2>Hello world</h2>');});//返回json格式app.get('/fast',(req,res)=>{  res.send({      name:'json',      likes:[        'reading',        'coding'      ]  });});//动态传递参数。app.get('/about',(req,res)=>{  res.render('about.hbs',{    pageTitle:'About Page',    currentYear:new Date().getFullYear()  });});//监听端口,  第二个回调是开启服务器后调用app.listen(3000,()=>{  console.log('hello jonson');});

访问:
localhost/about

模版封装

新建:views/partial/footer.hbs:

123
<Header>    <footer>{{pageTitle}}</footer><Header>

view/abut.hbs:

1234567891011
<!DOCTYPE html><html lang="en" dir="ltr">  <head>    <meta charset="utf-8">    <title></title>  </head>  <body>    <h2>{{currentYear}}</h2>      {{> footer}}  </body></html>

express.js:

123456789101112131415161718192021
const express = require('express');const hbs = require('hbs');var app = express();hbs.registerPartials(__dirname + '/views/partials');app.set('view engine','hbs');// 参数是一个middlewareapp.use(express.static(__dirname +'/public'));//返回json格式app.get('/about',(req,res)=>{  res.render('about.hbs',{    pageTitle:'About Page',    currentYear:new Date().getFullYear()  });});//监听端口,  第二个回调是开启服务器后调用app.listen(3000,()=>{  console.log('hello jonson');});

访问:
localhost/about

express middleware

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
const express = require('express');const hbs = require('hbs');const fs = require('fs');var app = express();hbs.registerPartials(__dirname + '/views/partials');app.set('view engine','hbs');// 参数是一个middlewareapp.use(express.static(__dirname +'/public'));//返回html格式app.get('/',(req,res)=>{  res.send('<h2>Hello world</h2>');});//自定义middlewareapp.use((req,res,next)=>{  var now = new Date().toString();  var log = `${now}:${req.method} ${req.url}`;  console.log(log);  fs.appendFile('server.log',log+'\n',(err)=>{});  next();});//返回json格式app.get('/fast',(req,res)=>{  res.send({      name:'json',      likes:[        'reading',        'coding'      ]  });});//返回文件,about.hbs在views文件夹下app.get('/about',(req,res)=>{  res.render('about.hbs',{    pageTitle:'About Page',    currentYear:new Date().getFullYear()  });});//监听端口,  第二个回调是开启服务器后调用app.listen(3000,()=>{  console.log('hello jonson');});
  • 本文链接: https://dreamerjonson.com/2018/11/15/node-15-express/

  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!

nodejs渐入佳境[15]-express框架

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×