标签: ejs

Node.js - EJS示例

我正在尝试将Embedded Javascript渲染器用于节点.我使用npm安装它,如下所示:https://github.com/visionmedia/ejs

我有以下代码,但它似乎不起作用:

var connect = require('connect'),
 ejs = require('ejs');

var server = connect.createServer(
    connect.bodyDecoder(),
    connect.methodOverride(),
    connect.staticProvider(__dirname + '/public'),
    function(req,res) {
     ejs.render('hi');
    }
);


server.listen(9000);
Run Code Online (Sandbox Code Playgroud)

任何帮助非常感谢.

ejs node.js

14
推荐指数
2
解决办法
3万
查看次数

在node.js/express中使用EJS显示图像

我只想尝试使用node.js/express/ejs进行设置.我知道ejs不是真正的HTML,所以我很难显示一个简单的图像.有人能指出我正确的方向吗?

目录结构是:

  • 对myApp/server.js
  • 对myApp /视图/ index.ejs
  • 对myApp/logo.jpg

现在我有

// index.ejs
<img src = "../logo.jpg" />
Run Code Online (Sandbox Code Playgroud)

我是以错误的方式来做这件事的吗?谢谢.

ejs node.js express

14
推荐指数
2
解决办法
3万
查看次数

使用nodemailer发送ejs模板

我正在尝试使用express.js构建一个Web应用程序.在我的应用程序中,我使用nodemailer发送邮件.如果我只是用它来发送基本邮件就可以了; 但是,当我尝试使用nodemailer发送呈现的ejs文件时,收件人只会收到一封空邮件.所以在这里我的代码的细节:

var transporter = nodemailer.createTransport({
                host: 'smtp.zoho.com',
                port: 465,
                secure: true, // use SSL
                auth: {
                    user: 'testmail@zoho.com',
                    pass: '123456'
                }
            });
fs.readFile('/test.ejs', 'utf8', function (err, data) {
                if (err) {
                    return console.log(err);
                }
                var mainOptions = {
                    from: '"Tester" testmail@zoho.com',
                    to: email,
                    subject: 'Hello, world'
                    html: ejs.render(data, {name: 'Stranger'});
                };
                console.log(mainOptions.html);
});
transporter.sendMail(mainOptions, function (err, info) {
                            if (err) {
                                console.log(err);
                            } else {
                                console.log('Message sent: ' + info.response);
                            }
                        });
Run Code Online (Sandbox Code Playgroud)

这里的test.ejs(也就是结果console.log(mainOptions.html)很好,因为它正确地打印出渲染的ejs文件的字符串(<%= name%>替换为'Stranger')

<style type="text/css">
  .header {
    background: …
Run Code Online (Sandbox Code Playgroud)

javascript ejs node.js express nodemailer

14
推荐指数
2
解决办法
5918
查看次数

如何评论ejs代码(JS节点)

我在ejs文件中有这个代码.

<table>
<% for(var i=0; i < data.length; i++) { %>
   <tr>
     <td><%= data[i].id %></td>
     <td><%= data[i].name %></td>
   </tr>
<% } %>
</table>
Run Code Online (Sandbox Code Playgroud)

当我这样评论时,

<!-- <table> -->
<!-- <% for(var i=0; i < data.length; i++) { %> -->
<!--    <tr> -->
<!--      <td><%= data[i].id %></td> -->
<!--      <td><%= data[i].name %></td> -->
<!--    </tr> -->
<!-- <% } %> -->
<!-- </table> -->
Run Code Online (Sandbox Code Playgroud)

第2行我仍然有错误.这是错误的堆栈

ReferenceError: c:\Users\toumi\Desktop\workspaces\eclipse\ToDoList\views\x.ejs:2
   1| <!-- <table> --> 
>> 2| <!-- <% for(var i=0; i < data.length; i++) { …
Run Code Online (Sandbox Code Playgroud)

javascript ejs node.js

13
推荐指数
5
解决办法
1万
查看次数

ejs如何迭代对象

我有一个简单的对象文字,其地址如下所示

address: {
    country: String,
    state: String,
    city: String,
    zip: String,
    street: String
}
Run Code Online (Sandbox Code Playgroud)

它的内部是一个我用express.js渲染函数传递的对象.

在我的模板页面中,我正在尝试在此对象内循环,如下所示:

<% for (var prop in artist.address ) { %>
  <%- artist.address[prop] %>
<% } %>
Run Code Online (Sandbox Code Playgroud)

它输出数据但包含ejs函数,如下所示:

function () { return this.get(path); } function () { return this.get(path); } yafo 09988 jerusalem israel israeli [object Object] undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined [object Object] [object Object] function () { var self = this , hookArgs // arguments …
Run Code Online (Sandbox Code Playgroud)

for-loop ejs node.js express

13
推荐指数
2
解决办法
2万
查看次数

在Express/EJS中,如何更改默认布局?

我不希望它是layout.ejs.

我想将我的布局设置为此特定控制器的另一个模板.

layout ejs node.js express

12
推荐指数
3
解决办法
1万
查看次数

包含HTML块使用node.js

这是我想要的但可能不会有:

使用node.js和express以及ejs,我想在我的客户端目录中编写常规HTML文件时,服务器端包含HTML模板块.如果我可以将变量传递给HTML文档中的include,那也很酷.

Sooo之类的东西:

 <!doctype html>
 <html>
   <head>
    <%include head, ({title: "Main Page"}) %>   
   </head>
   <body>
      <% include header, ({pageName: "Home", color: "red"}) %>
    ...
      <<% include footer%>>
   </body>
 </html>
Run Code Online (Sandbox Code Playgroud)

节点世界中有没有像这样工作的东西?或者任何接近但可能适合此功能的东西?我不会完全按照这里指出的方式使用它,但这是我正在寻找的功能.

我已经看过玉,车把,灰烬和ejs,而且ejs似乎最接近.也许其中一个已经这样做了,但我只是对实现感到困惑.

任何建议都会很棒!

templating include ejs node.js express

12
推荐指数
1
解决办法
3万
查看次数

获取ejs模板中的url参数

我试图基于URL参数创建一个ejs条件,例如,如果测试参数存在于localhost:3000/page?test,那么显示一个div,否则不显示它.

我的ejs模板看起来像:

<% include header %>
<div class="row">
<%if (title !== "homepage") {%>
<%= title %>
  <div>
    <% include nav %>
  </div>
<%}%>
  <div>
  </div>
</div>
<% include footer %>
Run Code Online (Sandbox Code Playgroud)

有没有办法直接从ejs文件访问URL参数?例如,<%= title%>工作正常,是否有类似<%= req.query%>的东西?

我也在使用快递.

javascript ejs node.js express

12
推荐指数
2
解决办法
2万
查看次数

在sailsjs视图中访问会话变量

我对sailsjs和nodejs很新.我正在尝试创建一个身份验证页面,其中一旦用户通过身份验证,我想设置

req.session.user = user.id
req.session.authenticated = true
Run Code Online (Sandbox Code Playgroud)

然后我需要在我的主layout.ejs文件中访问这些值.我这样做是通过使用

res.locals.user = _.clone( req.session.user )
Run Code Online (Sandbox Code Playgroud)

但是,我注意到必须在每个控制器的每个函数中调用此克隆方法,以便允许我从视图中访问用户.是否有更好的方法在sailsjs globbaly中访问会话变量,而无需在每个控制器中克隆req.session.我可以在这里找到我正在做的一个例子:

http://pastebin.com/HyE2H4Kq

如您所见,我在控制器内的各种函数的开头调用了clone方法.

ejs node.js sails.js

12
推荐指数
1
解决办法
9525
查看次数

在AJAX调用(使用ExpressJS)后,在EJS模板中循环遍历数组的正确方法是什么?

所以我试图使用request模块/包将我从http调用使用的对象数组循环到我的内部API .到目前为止,我能够从API中获取数据并在我的页面上显示完整对象.我想在我的页面上显示它并使用EJS模板系统循环它.我知道我可以使用AngularJS作为前端的东西,但我想看看我能在多大程度上只用服务器端.

以下是我的代码:

server.js

// Prepend /api to my apiRoutes
app.use('/api', require('./app/api'));
Run Code Online (Sandbox Code Playgroud)

api.js

var Report = require('./models/report');
var express  = require('express');
var apiRoutes = express.Router();

apiRoutes.route('/reports', isLoggedIn)  
     .get(function (req, res,next) {
          // use mongoose to get all reports in the database
          Report.find(function (err, reports) {
                 // if there is an error retrieving, send the error.
                 // nothing after res.send(err) will execute
                 if (err)
                    return res.send(err);
                    res.json(reports);
          });
    });
Run Code Online (Sandbox Code Playgroud)

routes.js

var User = require('./models/user');
var request = require('request');
module.exports …
Run Code Online (Sandbox Code Playgroud)

ajax ejs node.js express requestjs

12
推荐指数
1
解决办法
1万
查看次数