Nodejs + express + ejs

特性

  • <% %> 用于控制流
  • <%= %> 用于转义的输出 (会对数据字符进行转义)
    // 数据源
    // app.js
    
    var tem={
        title:"我是中间部分",
        info:[{Name:"davi", Time:1497591600000},{name:"bill", Time:1497591600000},{name:"can", Time:1497591600000}]
    };
    
    // index.ejs
    //  ‘<%=JSON.stringify(info)%>‘
    [{"Name":"davi","Time":1497591600000},{"name":"bill","Time":1497591600000},{"name":"can","Time":1497591600000},{"name":"can","Time":1497592600000}]
  • <%- %> 用于非转义的输出  (数据原本是什么就输出什么)
  • -%> 结束标签用于换行移除模式
  • 带有 <%_ _%> 的控制流使用空白字符移除模式

添加外部js

  ejs模板中未能直接使用外挂js 方法, 但能够通过nodejs中 app.js 引入,挂载到 全局变量locals中,ejs中直接调用,直接上代码:

// common.js

var Common = {
           timeToDate: function(ts) {
        var Y, M, D, h, m, s;
        var date = new Date(ts);
        Y = date.getFullYear() + ‘-‘;
        M = (date.getMonth() + 1 < 10 ? ‘0‘ + (date.getMonth() + 1) : date.getMonth() + 1) + ‘-‘;
        D = (date.getDate() < 10 ? ‘0‘ + (date.getDate()) : date.getDate()) + ‘ ‘;
        h = (date.getHours() < 10 ? ‘0‘ + (date.getHours()) : date.getHours()) + ‘:‘;
        m = (date.getMinutes() < 10 ? ‘0‘ + (date.getMinutes()) : date.getMinutes()) + ‘:‘;
        s = (date.getSeconds() < 10 ? ‘0‘ + (date.getSeconds()) : date.getSeconds());
        return (Y + M + D + h + m + s);
    }
};
module.exports = Common;
// nodejs  app.js

var http=require("http");
var express=require("express");
var fs = require("fs");
var bodyParser = require(‘body-parser‘);
var Common = require("./publice/common");
var app=express();

var tem={
    title:"我是中间部分",
    info:[{Name:"davi", Time:1497591600000},{name:"bill", Time:1497591600000},{name:"can", Time:1497591600000}]
};

//挂载静态资源处理中间件
//app.locals.Common = Common;
app.use(function(req, res, next){
    res.locals.Common = Common;
    next();
});

............................
// index.ejs

<div>
 <%info.forEach(function (name) { %>
                    <dl class="clear-fix">
                        <dd class="wd150"><%= Common.timeToDate(name.Time)%></dd>
                        <dd class="wd120 alc">50天</dd>
                        <dd class="wd120 alc">¥100</dd>
                    </dl>
                    <%})%>
</div>
时间: 2024-10-25 00:48:32

Nodejs + express + ejs的相关文章

nodejs+express+ejs+mongoose实例

nodejs+express+ejs+mongoose实例 nodejs学得异常痛苦,在这里将学的东西做一番整理,算是自我安慰吧.根据网上todo示例,用express和mongoose重写了部分代码,主要是业务逻辑这块(CRUD),这个没什么难度.目前尚未解决的问题是:express不能使用ejs layout template,查了好久也没解决,知道的麻烦告诉我一下. 一.代码目录 二.第三方模块 1.express (1)express中文入门指引手册 (2)nodejs中文电子书 (3)

Windows环境下,从零开始搭建Nodejs+Express+Ejs框架(二)---安装Express,ejs

安装Express,ejs的前提是一定要先安装nodejs,具体安装方法请查看 http://www.cnblogs.com/tfiremeteor/p/8973105.html 安装Express和ejs的前提是先要创建一个项目,因为我采用的并不是全局安装的方式,顺序为,创建项目,安装Express,再安装ejs. 一.  准备工作. 关于Nodejs的所有操作都必须通过命令行来实现,并且需要进入项目所在的目录.所以,首先运行cmd,打开命令提示符.如下图 这个是默认的路径,现在要进入项目路径

Nodejs + express + ejs 之服务器demo

var http=require("http"); var express=require("express"); var fs = require("fs"); var bodyParser = require('body-parser'); var Common = require("./publice/common"); var app=express(); // 定时器 var refTimer = null; var

Windows环境下,从零开始搭建Nodejs+Express+Ejs框架(一)---安装nodejs

第一步,安装nodejs https://nodejs.org/en/download/ 这个是nodejs的官网,由于操作系统是win7 64位的,所以,我下载的是node-v8.11.1-x64的版本.linux的同学请直接无视这篇文章吧. 安装时务必选择全部组件,包括勾选Add to Path.如下图 此时,我们可以注意到上图中的安装选项,第二个是npm的包,用来管理各种nodejs开发中所需要的插件.类似于vs中的Nuget.之前是需要单独安装的,现在已经整合到安装包,不需要额外安装了.

Nodejs express中创建ejs项目,解决express下默认创建jade,无法创建ejs问题

最近在看<Node.js开发指南>,看到使用nodejs进行web开发的时候,准备创建ejs项目遇到问题了, 书上命令为: ? 1 express -t ejs microblog 可是执行后,仍旧创建的是jade项目. 原来,express3.x,express4.x中创建ejs命令更新为: express -e microblog //即ejs,-j(即jade)  当然,最直接的,你也可以修改package.json里的定义来实现安装ejs. PS:建立工程过程 1.必须得安装expre

Nodejs express中创建ejs项目 error install Couldn&#39;t read dependencies

最近在看<Node.js开发指南>,看到使用nodejs进行web开发的时候,准备创建ejs项目遇到问题了 书上命令为: express -t ejs microblog 可是执行后,仍旧创建的是jade项目. 原来,express3.x,express4.x中创建ejs命令更新为: express -e microblog //即ejs,-j(即jade) 当然,最直接的,你也可以修改package.json里的定义来实现安装ejs. PS:建立工程过程 1.必须得安装express框架把:

Nodejs学习-2 express ejs 片段视图

在Express框架下,使用ejs模板引擎: 支持默认的layout布局需要express-partials模块: 使用include代替partials: 片段视图显示方式也与3.x版不同,采用如下方式: routers/index.js 添加: router.get('/list', function(req, res) {   res.render('list',{     layout:false,     title: 'Express',     items: ['1', '2', 

Cannot read property &#39;Store&#39; of undefined nodejs express session

Express在使用mongodb的时候app配置出错!  "Cannot read property 'Store' of undefined" 原因主要是express版本4++问题 //settings.js module.exports={ cookieSecret:"xxxx", db:"dbname", host:"localhost", } //app.js var express = require("

使用nodejs+express+mongodb开发web的例子

介绍:简单的介绍下nodejs+express+mongodb这三者. nodejs:是运行在服务器端的程序语言,表面上看过去就是javascript一样的东西,实际是由c++开发是服务器语言. express:是nodejs的一种web框架,node有很多的开源框架,express是一个大神开发的(这尊神已经移驾到go语言的开发去了).express可以让你更方便的操作node(因为直接用nodejs写web比较麻烦,nodejs是事件驱动的,所以有很多异步回调,写多了就看着晕...) mon