一,创建应用

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

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. 尝试使用 Visual Studio Online (Cloud IDE)

    这里的 Visual Studio Online 不是 Azure DevOps ,他们虽然是相同的名称,却是不同的域名 https://online.visualstudio.com/ ,今天我们就 ...

  2. WPBakery Page Builder页面生成器6.0 汉化版

    WPBakery Page Builder 是一个可视化编辑器插件 ,相较于WP自带的编辑器使用起来更加方便,同时功能更 加强大,完全的可视化操作,使用比较简单,国外有多款主题需要使用插件. WPBa ...

  3. 每个项目中,你必须知道的11个Java第三方类库。

    Java第三方library ecosystem是一个很广阔的范畴.不久前有人撰文:每个项目中,你必须知道的11个Java第三方类库. 单元测试 1.DBUnit DBunit是一个基于junit扩展 ...

  4. linux下FTP的工具和使用以及rpmReadSignature failed错误

      安装rpm文件时提示rpmReadSignature failed 错误 2011-09-23 11:04 现象: [root@localhost share]# rpm -ivh syslog- ...

  5. k-近邻算法采用for循环调参方法

    //2019.08.02下午#机器学习算法中的超参数与模型参数1.超参数:是指机器学习算法运行之前需要指定的参数,是指对于不同机器学习算法属性的决定参数.通常来说,人们所说的调参就是指调节超参数.2. ...

  6. 攻防世界web新手练习区(2)

    弱认证:http://111.198.29.45:43769/ 打开是这个页面: 用户名输入1,密码输入2,试试看.会提示你用户名为admin.接下来用burp对密码进行爆破,发现弱口令0123456 ...

  7. 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:final关键字

    final class A{ // 使用final定义类,不能有子类 }; class B extends A{ // 错误,不能被继承 }; class A{ public final void p ...

  8. 2017 青岛网络赛 Chenchen, Tangtang and ZengZeng

    Chenchen, Tangtang and ZengZeng are starting a game of tic-tac-toe, played on a 3 × 3 board. Initial ...

  9. Zabbix WebUI 配置监控Zabbix Agent

    Zabbix WebUI 配置监控Zabbix Agent 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.部署zabbix服务 1>.部署zabbix server 和z ...

  10. HDU 1024:Max Sum Plus Plus 经典动态规划之最大M子段和

    Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...