一,创建应用

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

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. Maven项目- "null" 的java.lang.reflect.InvocationTargetException 解决方法

    异常显示: 解决方法:

  2. Day1-E-BZOJ1293

    Description 小西有一条很长的彩带,彩带上挂着各式各样的彩珠.已知彩珠有N个,分为K种.简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应的坐标(即位置).某些坐标上可以没有彩珠,但多个彩 ...

  3. php 实现店铺装修5

    /** * @title 选中蜂店装修模板样式 * @param plate_id 是 int 商品(平台或特色)装修样式ID * @param type_id 是 int 要装修商品的类型(1-平台 ...

  4. Java系列之:看似简单的问题 静态方法和实例化方法的区别

    (2011-12-06 15:28:26) 转载▼ 标签: 杂谈 分类: study 今天看书时一直没真正弄明白静态方法和实例方法的区别,就在网上搜索,找到一篇很好的文章,和大家分享一下: 这是一个经 ...

  5. redis的基本操作

    redis是key-value的数据结构,每条数据都是⼀个键值对 键的类型是字符串 注意:键不能重复 值的类型分为五种: 字符串string 哈希hash 列表list 集合set 有序集合zset ...

  6. java中数组输出的方式

    方式1:遍历输出 public class Main { public static void main(String[] args) { int[] ns = { 1, 4, 9, 16, 25 } ...

  7. 请求接口得到一段markdowm遇到的问题

    如图,在console里看得到这段数据 有<br>之类的东东,但是我们用部分富文本解析工具可能会显示不了回车,所以我们可以自己动手: 主要就是利用js的replace方法来把<br& ...

  8. 解析基于keras深度学习框架下yolov3的算法

    一.前言 由于前一段时间以及实现了基于keras深度学习框架下yolov3的算法,本来想趁着余热将自己的心得体会进行总结,但由于前几天有点事就没有完成计划,现在趁午休时间整理一下. 二.Keras框架 ...

  9. jmeter性能测试--浪涌测试

    1.         Ultimate Thread Group 右键测试计划-添加-Theads(Users)-Ultimate Thread Group,如下图1所示 图1 图2 参数说明,如下图 ...

  10. mybatis-plus 乐观锁

    参见:https://mp.baomidou.com/guide/optimistic-locker-plugin.html#%E4%B8%BB%E8%A6%81%E9%80%82%E7%94%A8% ...