Tag: ejs

EJSdynamic包括

我正在尝试使用EJSdynamic地包含我的部分内容之一。 我这样渲染一个模板: 路由器 router.get('/', noteController.getNotes, (req, res, next) => { return res.render(template, {'page':'all'}) }) 我试图在这个模板中包含一个基于variables“page”的部分。 template.ejs <% include %><%= page %><% .ejs %> 但是这不起作用。 我已经尝试了多种方法,无济于事。 任何帮助深表感谢。

在ejs <2.5.5中检测到已知的中等严重程度的安全漏洞

我在GitHub上获得了一些项目的警报: 我们发现您所贡献的存储库使用的某个依赖项存在潜在的安全漏洞。 在package.json中定义的ejs <2.5.5中检测到已知的中等严重性安全漏洞。 package.json更新build议:ejs〜> 2.5.5。 我可以通过在package.jsonbuild议更新来摆脱警告,并且npm update似乎没有问题。 但我有点不情愿开始搞生产服务器。 该漏洞的https://nvd.nist.gov/vuln/detail/CVE-2017-1000188创build于11.16.2017。 在惊动的项目中, ejs被express使用,而express只和sequelize一起使用。 有没有人了解这个漏洞? 在ejs被静态和内部使用的情况下,XSS将如何可能? 在ejs – > express – > sequelize可能容易受到XSS攻击的情况下,是否有真正的用例?

如何编码HTML元素属性

如何在NodeJS中对来自EJS模板的HTML属性进行编码。 我需要做这样的事情: <img onmouseover=<% myString %> /> myString将被正确地转义和引用成为一个有效的属性。

EJS处理array.map(callback)?

我将一个对象数组传递给一个EJS模板,我想使用数组的常规.map()方法将其映射到链接。 但由于我无法弄清楚的原因,我传递给map()的callback函数在EJS中不能像我期望的那样工作,而且我得到的结果是空的。 我的数据是一个对象数组,每个对象都有一个“section”和一个“name”键。 这个数组作为“条目”传递给模板: siteHeaders = [ { section: "home", name: "Home"}, { section: "about", name: "About Me"}, … plus few more ] 模板看起来像这样,我把它放在一个叫做(惊喜) template的局部variables中: <% entries = entries.map(function(elem) { -%> <% return -%> <a href="/<%= elem.section %>"> <%= elem.name %> </a> <% } ) -%> <p><%- entries.join(" | ") %></p> 当我调用require('ejs').render(template, {entries: siteHeaders})时,这个模板的结果是: <p> […]

如何快速到ejsdebugging器?

我似乎有一个内部的ejs代码,通过快递服务的错误。 我通常使用优秀的node-inspector包来debuggingexpress和node.js. 但它似乎并没有在ejs中可用。 有没有一个好的方法来做到这一点?

layout.ejs未呈现 – Node.js,Express

我想用EJS模板执行一个简单的node.js例子。 节点,或者更确切地说,无论我做什么,都无法使用layout.ejs呈现索引页,如下面的代码所示。 这是app.js var express = require('express') , routes = require('./routes') , http = require('http'); var app = express(); app.configure(function(){ app.set('port', process.env.PORT || 8001); app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.set('view options', {layout: 'views/layout.ejs'}); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(__dirname + '/public')); }); app.configure('development', function(){ app.use(express.errorHandler()); }); app.get('/', routes.index); http.createServer(app).listen(app.get('port'), function(){ console.log("Express server listening […]

包括ejs-partial脚本标记(sails.js)

函数,我想渲染一个带有返回数据的EJS-Partial或者Template,最后把它附加到DOM。 我试了一下 var html = <%- partial('comment') %>" 但是这给了我一个错误,我试着用这样的EJS模板 var html = new EJS({url: '/comment.ejs'}).render(comment); 但在这里我有问题,代码不能识别视图文件夹,也不是资产文件夹,我也试图复制我的部分文件。 这里是我的ajax函数的代码片段 <script> function postComment(){ if ($('#inputContent').val() != ''){ $.post( "/comment/create/", $('#commentForm').serializeArray(), function(comment) { //var html = new EJS({url: '/comment.ejs'}).render(comment); //var html = "<%- partial('comment') %>"; $(html).appendTo('.comments').hide().fadeIn(2000); $('#inputContent').val(''); }); } } </script> 有任何人解决我的问题? 非常感谢你

Node.JS – 简单的Socket.IO示例不起作用。 获取debugging服务的静态内容/socket.io.js(Mac OSX / Localhost)

我刚刚开始与node.js前几天,我知道试图使用socket.io模块。 但是这不是我所期望的。 我试图重现的例子是这样的: http : //robdodson.me/blog/2012/06/04/deploying-your-first-node-dot-js-and-socket-dot-io-app-to -heroku / 我知道他们正在使用的Express版本已经过时,所以我更新了我的代码以适应他们正在使用的模块的新版本。 我的问题是我的客户端没有得到我的服务器发出的,这里是我的服务器端代码: var express = require('express'), http = require('http'), app = express(), port = 8080, // Use 8079 for dev mode server = http.createServer(app).listen(process.env.PORT || port, function(){ console.log('Express server listening on port %d in %s mode', server.address().port, app.settings.env); }), io = require('socket.io').listen(server), routes = require('./routes'); // Configuration […]

将JSON var从路由传递给ejs

我在express + EJS中有一些代码, 1)在app.js中,创build了mongo集合对象, app.locals.userCollection = db.get('userData'); 2)在user.js表示路由文件,我从这个数据库连接获取数据,并且想把它传递给EJS来渲染, exports.list = function(req, res){ req.app.locals.userCollection.find({},function(err , returnValue){ if(returnValue.length>0){ res.render('user', res.locals.returnValue); } return err; }); }; 3)在user.ejs我尝试访问它使用 <div><script> var test = <%- returnValue %>; 它给我returnValue是没有定义的错误。 我可以知道,如果我想访问returnValue [0] .attr1,我应该在路线和EJS代码? 关心锤子

当地居民在ejs中find对象

从GitHub运行项目时出现以下错误:“在locals对象中find的选项,选项被复制到选项对象。这种行为已被弃用,并将在EJS 3” 我试图更新ejs和expression模块到最新版本,但通知仍然存在。 我GOOGLE了,ofc,唯一的线索是这个 ,但它没有帮助。 有没有人知道更多关于这个? 作为参考,这里是整个重要的代码: 应用/视图/ index.ejs <!DOCTYPE html> <html> <head> <title><%= title %></title> </head> <body> <h1><%= title %></h1> <img src="img/logo.jpg" alt="Hack Hands logo"> </body> </html> 应用程序/控制器/ index.server.controller.js exports.render = function(req, res) { res.render('index', { title: 'MEAN MVC' }); }; 应用程序/路由/ index.server.route.js module.exports = function(app) { var index = require('../controllers/index.server.controller'); app.get('/', index.render); }; […]