转自:https://blog.csdn.net/dongmelon/article/details/72403913

02.ejs。这是被include的文件

  1. <script>
  2. console.log("aaaa")
  3. </script>

01.ejs  模板文件ejs  注意:<% js语句 %>  <%= 取值到模板上面 %>  <%- include写法 %>

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2. "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <title></title>
  6. </head>
  7. <body>
  8. <% for (var i=0;i<names.length;i++){ %>
  9. <h1><%= names[i] %></h1>
  10. <% } %>  //js循环语句加取值
  11. <%- include("./htdocs/views/02.ejs") %>  //include其他文件这样可以把公共东西写一起
  12. </body>
  13. </html>

app.js

  1. var ejs=require("ejs");
  2. var express=require('express')
  3. var app=express();
  4. console.log(__dirname);
  5. app.get("/open",function(req,res){
  6. str=require("fs").readFileSync(__dirname+"/views/01.ejs","utf8")  //先读文件
  7. var html=ejs.render(str,{
  8. names:["cd","lw"],       //第一个参数是给ejs渲染的内容
  9. filename:__dirname       //第二个参数是设置include路径的 不写就找不到 报错
  10. })                           //渲染html
  11. console.log(html)
  12. res.send(html)           //发送给客户
  13. })
  14. app.listen(3000,function(){
  15. console.log("server is running")
  16. })

另外一种js写法可以用res.render();

    1. <span style="font-size:14px;">var ejs=require("ejs");
    2. var express=require('express');
    3. var path=require("path")
    4. var app=express();
    5. app.set('views', path.join(__dirname, 'views'));
    6. app.set('view engine', 'ejs');     //<u>这是ejs配置 不配置也行默认在views文件下</u>
    7. console.log(__dirname);
    8. app.get("/open",function(req,res){
    9. res.render("b.ejs",{
    10. names:["cd","lw"]      //第一个参数是给ejs渲染的内容
    11. //filename:__dirname     //第二个参数是设置include路径的 不写就找不到 报错
    12. })
    13. })
    14. app.listen(3000,function(){
    15. console.log("server is running")
    16. })</span>

62.nodejs中的ejs模板学习的更多相关文章

  1. 在express站点中使用ejs模板引擎

    在express站点中使用ejs模板引擎 文/玄魂 目录 在express站点中使用ejs模板引擎 前言 1.1         安装 1.2修改app.js 1.3创建测试页面 前言 使用 vs创建 ...

  2. NodeJS中使用swig模板引擎

    NodeJS中的默认引擎是jade有点过于复杂,而且不是以HTML为基础的,学习成本和前端适应成本都很大.而ejs虽然简单,但不支持模板导入,而且效率一般. swig的语法简单,学习成本很低,符合常规 ...

  3. nodejs中引入art-template模板

    使用Webstorm创建nodejs express应用时,默认使用的是jade或者ejs模板,对于不习惯这两种模板语法的人来说确实不是很方便.没关系,这里我们使用art-template模板引擎,使 ...

  4. Express中的Ejs模板传值问题

    在Ejs模板传值过程中,route下的变量值通过res.sender()中的变量参数传给views, 这时在views中若该变量在javascript代码中使用,可直接使用该变量,不必使用<% ...

  5. Nodejs下express+ejs模板的搭建

    nodejs的环境配置,这里就不做说明了.在nodejs安装后的步骤在这里说明一下 首先 全局安装express  npm install -g express-generator 安装ok后,接着 ...

  6. 学习篇:NodeJS中的模板引擎:jade

    NodeJS 模板引擎作用:生成页面 在node常用的模板引擎一般是 1.jade --破坏式的.侵入式.强依赖(对原有的html体系不友好,走自己的一套体系)2.ejs --温和的.非侵入式的.弱依 ...

  7. Express框架中如何引用ejs模板引擎

    1.如何在项目中安装ejs模板引擎 在NodeJS指南中利用利用以下命令建立网站的基本结构: express -t ejs microblog 运行这个命令后继续运行 cd microblog &am ...

  8. 前端笔记之NodeJS(三)Express&ejs模板引擎&请求识别

    一.Express框架 1.1基本使用 创建http服务器特别麻烦,express框架解决了这个的问题. Express在node界的地位,就相当于jQuery在DOM界的地位.jQuery的核心就是 ...

  9. Node.js学习笔记(七) --- Node.js的静态文件托管、路 由、EJS 模板引擎、GET 、POST

    1 . Nodejs 静态文件托管静态 web 服务器封装 2 . 路由 官方解释:  路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET.POST 等)组成的, ...

随机推荐

  1. jquery批量绑定click事件

    jquery批量绑定click事件: var selects = $(".public_select dd ul li"); debugger; /*$(".public ...

  2. PostgreSQL Replication之第四章 设置异步复制(7)

    4.7 冲突管理 在PostgreSQL中,流复制数据仅在一个方向流动.XLOG由master提供给几个slave,这些slave消耗事务日志并为您提供一个较好的数据备份.您可能想知道这怎么会导致冲突 ...

  3. vue中使用滚动效果

    new Vue({ el: '#app', data: function data() { return { bottom: false, beers: [] }; }, watch: { botto ...

  4. codeforces 501 B Misha and Changing Handles 【map】

    题意:给出n个名字变化,问一个名字最后变成了什么名字 先用map顺着做的,后来不对, 发现别人是将变化后的那个名字当成键值来做的,最后输出的时候先输出second,再输出first 写一下样例就好理解 ...

  5. Scala之面向对象

    1. Scala基础练习 不使用str.toLong,str.toInt/Integer.valueOf()/Long.valueOf/Integer.parseInt()等,将字符串"12 ...

  6. 5、Go if else 条件判断

    package main import "fmt" func main(){ //注:在Go里面没有三元表达式”?:”,所以你只能使用条件判断语句. //示例一 if 7%2==0 ...

  7. 首家5G体验厅在深圳建成

    日前,深圳移动卓越时代营业厅推出5G全方位体验活动,让市民亲身感受5G时代到来.据悉,十大5G展示项目生动展现移动5G带来的生活巨变与产业升级,为5G发展汇聚各界力量加速创新落地. 现场有市民表示,5 ...

  8. Chrome发布73 beta版:增强Linux用户体验

    Google开发者周五推动Chrome 73进入他们的测试频道,因为他们准备在3月12日左右推出这款网页浏览器更新,以便稳定推出.除非另有说明,否则下面描述的更改适用于Android,Chrome O ...

  9. ECNUOJ 2144 抗震机械制造

    抗震机械制造 Time Limit:1000MS Memory Limit:65536KBTotal Submit:312 Accepted:78 Description  为了应付可能到来的地震,E ...

  10. CJOI 05新年好 (最短路+枚举)

    CJOI 05新年好 (最短路+枚举) 重庆城里有n个车站,m条双向公路连接其中的某些车站.每两个车站最多用一条公路连接,从任何一个车站出发都可以经过一条或者多条公路到达其他车站,但不同的路径需要花费 ...