node.js

node.js 就是运行在服务端的 JavaScript。
node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,这句话其实也说明,在有些情况下,限制了浏览器的范围。其实对于web开发来说,容易出问题的浏览器就是IE浏览器,而node express 本身在IE上是完全可以支持的,只是说样式可能会出现偏差,如果你的项目需要支持ie浏览器,那么就需要注意。下面两张图片来发现不同吧。

现在的node,其实可以做的事情已经不限制在web,它也可以做socket,和一些硬件连接,也可以做C/S应用。

Express

Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能。
使用您所选择的各种 HTTP 实用工具和中间件,快速方便地创建强大的 API。
Express 提供精简的基本 Web 应用程序功能。这些话,官网都有的。我还是比较想知道View Engine 和Stylesheet Engine 的选项的值各自代表的意思


View Engine 顾名思义,就是视图引擎,或者说是模板引擎。

  • Dust
    dust是一款js模板,最早由个人开发维护,后来由linkin接手,发展的更加迅速.
    如果之前没有使用,突然想使用,就找到package.json 这个文件,手动添加依赖

    具体是什么版本,就看你用的时候是多少了
    然后到app.js中 添加模板使用情况【如果你找不到app.js,呃,那么你就创建错了,去搭建express看看吧。】

然后去views目录下添加,后缀为.dust的文件

如果你不知道title 那里来的,去看看routes文件下,同名的js文件

具体的实例在https://www.npmjs.com/package/express-dust 这里网站,如果你之前接触过.NET 的MVC ,这种写法,你不会陌生的,类比过来就可以了

  • EJS
    ejs对原HTML语言就未作出结构上的改变,只不过在其交互数据方面做出了些许修改,当然如果你没有写过,那就没办法了,但是也好理解的。
    常用的标签:
    <% ‘脚本’ 标签,用于流程控制,无输出。
    <%_ 删除其前面的空格符
    <%= 输出数据到模板(输出是转义 HTML 标签)
    <%- 输出非转义的数据到模板
    <%# 注释标签,不执行、不输出内容
    <%% 输出字符串 ‘<%’
    %> 一般结束标签
    -%> 删除紧随其后的换行符
    _%> 将结束标签后面的空格符删除
    你还可以去官网https://ejs.bootcss.com/#docs看。

  • jade
    jade是创建时默认的视图引擎,采用空格缩进的规则。它省略了html中尖括号。采用了严格的缩进格式,划分了层次结构,提高了可阅读性。在jade中创建列表,标签无需闭合。 自闭和标签jade会自动检测,也可以手动添加闭合标签。模板可以继承,文本与标签混排
    jade自带语法,语句前不需要“-”。
      each…in --遍历
      while --遍历
      if --条件判断

  • Handlebars
    Handlebars 是一个纯渲染引擎。如果你要允许人们自己编写用于渲染 HTML 页面,电子邮件或者 Markdown 文件的模板,那么使用 Handlebars 效果将会很好。
    Handlebars 没有事件处理,访问 后端服务 或增量 DOM 更新 的内置支持。
    Handlebars 不利于 DOM 的快速(增量)更新,事件处理和前后端通信。
    通过这样的表述,可以看得出,其实在日常的开发中,选择它的机率不太大,也不是没有。

  • Hogan.js
    语法简单,其实学习成本和其他的模板是差不多的。
    {{data}} 转义的变量
    {{{data}}} 不转义的变量
    {{#list}} {{/list}} 列表循环 / 真值判断
    {{^list}} {{/list}} 空列表 / 非真值判断
    {{.}} 枚举的当前元素
    {{!}} 注释

  • Twig
    Twig PHP模板语言的纯JavaScript实现(https://twig.symfony.com/)
    目标是提供一个与浏览器和服务器端容器(如node.js)兼容的库

  • Vash
    Razor风格的视图引擎,如果说dust是类比,那么Vash的写法,在我看来,基本上没有什么区别


    从排列顺序来说,其实可以看得出,使用的频率。如果是新手,还是用视频频率高的,因为有问题好百度,相关的书籍也多。

node express Engine相关推荐

  1. node+express+mongodb初体验

    从去年11月份到现在,一直想去学习nodejs,在这段时间体验了gulp.grunt.yeomen,fis,但是对于nodejs深入的去学习,去开发项目总是断断续续. 今天花了一天的时间,去了解整理整 ...

  2. node+express+http-proxy-middleware代理转发

    node+express+http-proxy-middleware代理转发 @(node代理转发)[http-proxy|node实现前后端分离|] 文章,欢迎进入我的博客:www.jaxqin.c ...

  3. Node+express+ejs+mysql制作查询数据呈现前端页面

    一.实现样式 二.页面结构 1.文档结构 2.数据库mysql结构 3.使用到的模块 三.核心思路 该案例使用node+express+ejs+mysql共同实现,实现效果很简单,查询数据库,获取数据 ...

  4. mysql第五章项目二_Todo List:Node+Express 搭建服务端毗邻Mysql – 第五章(第1节)

    点击右上方红色按钮关注"web秀",让你真正秀起来 前言 万丈高楼平地起,我们的Todo List项目也是越来越结实了.Todo List的前面4章内容都是在为Client端开发, ...

  5. node+express学习日记

    1.20160505 node+express直接返回一个html静态页面 2.20160505 使用字符串模式的路由路径 3.20160505 使用字符串的路由路径 4.20160505 路由匹配规 ...

  6. 【HAVENT原创】Node Express API 通用配置

    为什么80%的码农都做不了架构师?>>>    ( 基于 Express 4.x ) 启动文件 /app.js: var express = require('express'); ...

  7. node+express项目链接MySQL数据库(最简单版)

    node+express项目链接MySQL数据库(最简单版) (假定你node+express项目已创建完成,可参照这里) 第一步.安装mysql驱动 npm install mysql --save ...

  8. node+express创建第一个node项目

    一.安装nodejs 1.到官网下载nodejs安装包 中文官网地址:http://nodejs.cn/ 英文官网地址:https://nodejs.org/en/ 根据自己的系统和版本,选择下载对应 ...

  9. node ajax validator,node/express 4:在ajax post上使用express-validator显示错误

    我是新来的节点,当用户尝试提交表单时,尝试显示验证错误(使用express-validator和express 4).node/express 4:在ajax post上使用express-valid ...

最新文章

  1. 唯一聚集索引上的唯一和非唯一非聚集索引
  2. boost::hana::none用法的测试程序
  3. 仍不切换到Java 8的6个理由
  4. apiclod 上传图片_Apicloud——关于上传图片、视频(二)
  5. Python极其简易音乐播放器
  6. onenote登录显示服务器问题,onenote启动不了怎么回事 onenote为什么登录显示无法连接...
  7. mysql nfs存储_NFS存储服务及部署
  8. 网络下载的图始终与北京坐标有偏移,坐标对不准,用arcgis自带的WGS84与beijing54坐标转换2解决
  9. @TableField fill
  10. Material UI 带复选框表格获取选中值(索引)
  11. 第三讲. COTS包交换介绍
  12. QGIS基本功 | 21 QGIS工程文件属性设置(2)——坐标参照系、变换、默认样式、数据源、关系和变量
  13. pycharm使用私钥远程连接服务器
  14. 数字藏品是怎么赋能的?
  15. 深入探索Android 启动优化(七) - JetPack App Startup 使用及源码浅析
  16. win10使用C语言运行坦克大战游戏(转载)
  17. 如何用百数低代码开发平台实现会议预约?
  18. vjudge 河大acm练习 新生选拔赛
  19. sql实现--根据不同类型的时间戳按24小时每小时统计数据,并补齐数据和取整
  20. Http协议之CONNECT方法

热门文章

  1. SiKi学院 Unity中常用api学习笔记(001-014)
  2. win7 php搭建博客,win7下wordPress本地搭建博客详解(深度亲测整理—傻瓜式详细教程) | 学步园...
  3. 前端程序员需要了解的原生微信小程序-基础知识
  4. 前端 VUE 微信支付 JSAPI
  5. 第一个五年,快速到P7获取年薪50w
  6. XMind使用技巧2
  7. Linux脚本编写—检测内网主机存活状态(语句:if+for+while)
  8. 远离手机卡顿的正确做法!关闭这3个设置,让手机流畅如新
  9. 大家平时天天说的分布式系统到底是什么东西?
  10. java-php-python-springboot网上订餐系统计算机毕业设计