一,创建应用

(一),创建应用,监听端口

var express = require('express')
// 创建app应用
var app = express()
app.listen(3000)
 
(二),用户的访问
1,用户可以通过 url 访问 web应用
2,web 后端通过用户访问的 url 处理不同的业务逻辑
 
_________________________________________
 
二,处理请求输出
(一),路由绑定
1,通过 app.get() 或 app.post() 等方法可以把一个 url 路径 和 一个函数(或 n个函数)进行绑定
2,具体代码 :   app.get('/',function(req,res,next){})
3,其中参数的含义:
  (1) req : request 对象 。保存客户端请求的一些数据
  (2) res : response对象 。 提供了一些服务端输出的方法
  (3) next : 用于执行下一个 与路径匹配 的函数
 
_________________________________________
 
(二),内容输出
通过 res.send(string)  将内容发送到客户端。

var express = require('express')
// 创建app应用
var app = express()
/**
* 首页
*/
// 此处路径为 / ,而不是 ./ 。
app.get('/',(req,res,next)=>{
res.send('<h1>welcome my website</h1>')
})
app.listen(3000)
____________________________
 
三,模板配置
 
(一),模板的使用
后端逻辑 与 页面表现 分离  ——  前后端分离
 
(二),模板配置
 
/*  1,定义模板引擎,使用 swig。renderFile 方法 => 解析后缀名为 html 的文件
 *   第一个参数 :模板引擎的名称,同时也是模板文件的后缀
 *   第二个参数 :用于解析处理模板内容的方法
 */
var swig = require('swig');
app.engine('html',swig.renderFile);     
 
/*   2,设置模板存放目录
 *   第一个参数 :必须是 views 。( 不可变更 )
 *   第二个参数 :路径目录
 */
app.set('views','./views');
 
/*   3,注册模板引擎 。 把之前定义的模板引擎配置到应用种
 *   第一个参数 :必须是 view engine 。( 不可变更 )
 *   第二个参数 :和 view engine 方法定义的模板引擎的名称(第一个参数)是一致的
 */
app.set('view engine','html');
 
/*  4,在开发过程中,需要取消模板缓存。默认设置为 true ,需要将其修改为 false
 *  不需要使用 supervisor 工具 , 也可以自动调试的功能 。 方便调试 !!!
 */ 
swig.setDefaults({cache:false})
 
********************************************
app.js 文件代码:
 
var express = require('express')
var swig = require('swig')
// 创建app应用
var app = express()
app.engine('html',swig.renderFile)
app.set('views','./views');
app.set('view engine','html');
swig.setDefaults({cache:false})
/**
* 首页
* 此处路径为 / ,而不是 ./ 。
*/
app.get('/',(req,res,next)=>{
// res.send('<h1>welcome my website</h1>')
 
/**
* 读取 views 目录下的指定文件,解析并返回客户端
* 第一个参数 : 表示模板的文件 , 相对于 views 目录 。默认自动解析 html ,所以可以省略 html后缀 。 默认找到 views/index.html 读取并解析
* 第二个参数 : 传递给模板使用的数据。(后期详细介绍)
*/
res.render('index')
})
app.listen(3000)
 
 

2 ~ express ~ 模板引擎的配置与使用的更多相关文章

  1. springboot系列四、配置模板引擎、配置热部署

    一.配置模板引擎 在之前所见到的信息显示发现都是以 Rest 风格进行显示,但是很明显在实际的开发之中,所有数据的显示最终都应该交由页面完成,但是这个页面并不是*.jsp 页面,而是普通的*.html ...

  2. express+模板引擎构建项目时遇到的几个小问题

    1.启动项目/调试项目 项目启动用:npm start 由于每次更改路由代码后必须重启服务才可以看效果,所以为了达到热加载的效果我们安装 supervisor:全局安装也可以: npm install ...

  3. thinkPhP 引入Smarty模板引擎及配置

    做配置:  TMPL_ENGINE_TYPE = “Smarty” 给smarty做配置: TMPL_ENGINE_CONFIG = array( 左标记, 右标记, )

  4. Express:模板引擎深入研究

    深入源码 首先,看下express模板默认配置. view:模板引擎模块,对应 require('./view'),结合 res.render(name) 更好了解些.下面会看下 view 模块. v ...

  5. 【Python-Django】Jinja2模板引擎配置教程详解!!!!

    Jinjia2的官方文档:http://jinja.pocoo.org/docs/2.10/ 1. 安装Jinja2扩展包 $ pip install Jinja2 2. 配置Jinja2模板引擎 T ...

  6. express搭建web服务器、路由、get、post请求、multer上传文件、EJS模板引擎的使用

    express官网 postman工具下载地址  multer的npm文档地址 express模板引擎怎么使用  地址:http://www.expressjs.com.cn/guide/using- ...

  7. Spring Boot 系列(五)web开发-Thymeleaf、FreeMarker模板引擎

    前面几篇介绍了返回json数据提供良好的RESTful api,下面我们介绍如何把处理完的数据渲染到页面上. Spring Boot 使用模板引擎 Spring Boot 推荐使用Thymeleaf. ...

  8. Spring Boot☞ 使用Thymeleaf模板引擎渲染web视图

    静态资源访问 在我们开发Web应用的时候,需要引用大量的js.css.图片等静态资源. 默认配置 Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /s ...

  9. 【PHP 模板引擎】Prototype 原型版发布!

    在文章的开头,首先要向一直关注我的人说声抱歉!因为原本是打算在前端框架5.0发布之后,就立马完成 PHP 模板引擎的初版.但我没能做到,而且一直拖到了15年元旦才完成,有很严重的拖延症我很惭愧,再次抱 ...

随机推荐

  1. 厉害了!SpringBoot是如何动起来的!

    程序入口 SpringApplication.run(BeautyApplication.class, args); 执行此方法来加载整个SpringBoot的环境. 1. 从哪儿开始? Spring ...

  2. C#中的扩展类的理解

    扩展类是一种静态的一种类的调用方法,通过实例化进行调用.利用this进行指正该类,有参数的时候直接在后面追加参数. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  3. 修改了ssh默认端口对git的影响

    如果服务端的ssh不是采用的默认端口. 那么客户端git命令就会报错: ssh: connect to host 192.168.2.152 port 22: Connection refused 这 ...

  4. Verilog的非阻塞语句放到顺序块中,综合出来怎样的逻辑电路?

    情境: FPGA里面计数器需要复位(计数值置零),与计数器状态有关的行为是状态机控制的,即状态机为CLEAR_TIMER状态时,计数器才完成清零动作. 清零有两个条件:(1)计数器值溢出(达到OVF门 ...

  5. NO23 Linux正则表达式结合三剑客企业级实践--取IP

    企业实践: 一.取IP的方法(用三剑客): grep: awk: sed:虽有三种,但是思路是一样的,用到正则有些表达细节不一样而已. 分析: sed***: 课堂试题: |sed -nr 's#^. ...

  6. Python下opencv使用笔记(图像频域滤波与傅里叶变换)

    Python下opencv使用笔记(图像频域滤波与傅里叶变换) 转载一只程序喵 最后发布于2018-04-06 19:07:26 阅读数 1654  收藏 展开 本文转载自  https://blog ...

  7. mongodb - 关联字段

    1,博客表结构  Blog.js var mongoose = require('mongoose') mongoose.connect('mongodb://localhost/test',{ us ...

  8. 图形与动画在Android中的实现

    public class MyView extends View{ Bitmap myBitmap; Paint paint; public MyView(Context context, Attri ...

  9. Day8 - F - Tree POJ - 1741

    Give a tree with n vertices,each edge has a length(positive integer less than 1001).Define dist(u,v) ...

  10. 把自己的项目发布到maven仓库并在maven和gradle中开始使用

    把自己的项目发布到maven仓库并在maven和gradle中开始使用 上一条博客中提到的日志打印项目总算是维护的差不多了, 不过现在使用它还是打成jar包放到其他项目内, 所以决定把项目传到mave ...