Tag: ejs

NodeJS + EJS + Promise:页面直到履行承诺才显示

我从承诺中的Web服务中检索数据,并使用EJS进行显示。 问题是HTTP页面不会显示,直到承诺履行,这是有道理的,因为我叫“内部”渲染。 有没有办法让HTTP页面显示没有“数据”,并在webService调用完成时显示“数据”? var webService = new webService(); webService.GetData("https://somewebservice.com") .then( (result) => { let options: Object = { "data": result }; this.render(req, res, "index", options); });

尝试呈现我的expressionejs应用程序中的HTML实体

这是我正在尝试呈现的页面 <% include ../partials/boilerplate %> <div class="triviaContainer"> <h1>GAME TIME!!! </h1> <% var i =0; data.forEach(question =>{ i+=1 %> <div class="questionRow"> <div> <%= question.question %></div> </div> <div class="questionRow1"> <div clicked="" id="correctanswer<%=i %>" class="correctAnswer" > A: <%= question.correct_answer %></div> <div clicked="" id="incorrectanswer<%=i %>" class="incorrectanswer<%=i %>" >B: <%= question.incorrect_answers[0].incorrect_answer %></div> </div> <div class="questionRow2"> <div clicked="" id="secondincorrectanswer<%=i %>" >C: […]

app.get(/)不呈现index.ejs文件

我对node.js很新颖。 我只是按照快速js的基本教程。 我正在面临的问题我不能够呈现index.ejs文件,即使按照下面的步骤。 打本地主机我得到的ReferenceError:索引没有定义在C:\ NodeJS \ expressDemo.js:28:13 expressDemo.js: var express= require('express'); var bodyParser= require('body-parser'); var path= require('path'); var app = express(); /* var logger = function(req, res, next){ console.log("logging"); next(); } app.use(logger); */ //middleware //view engine–ejs app.set('view engine','ejs'); app.set('views',path.join(__dirname,'views')); /* body parser middleware */ app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended:false})); app.get('/',function(req,res){ res.render(index); }); app.listen(3000, function(){ console.log("application started on 3000 […]

禁用.ejs文件的eslint

我在我的项目上有一个模板文件,当运行eslint时,我正面临着各种各样的问题。 其中一些是 – error Parsing error: Unexpected token ! error Parsing error: Unexpected token < 为了克服这一点,我试图用eslint-plugin-ejs没有任何帮助。 我也参观了下面的SO链接 – closures特定文件的eslint规则 ESLint分析错误:意外的令牌 神秘的ESLint分析错误 还有更多,但没有运气。 现在我只想把这个文件排除在eslint之外,但是找不到这样做的方法。 任何帮助将不胜感激。

在EJS / node.js中的forEach中使用“this”项添加一个css类

我一直在尝试这个小时,但我很难过。 我有一种“购物清单”node.js应用程序,您可以勾选bought物品。 我想要购买的物品是绿色或水货样式。 它沿着一条路线传递一个mongooseobj到客户端。 服务器端: router.get("/:id", function(req, res){ //find the list with provided ID List.findById(req.params.id).populate("listItems").exec(function(err, foundList){ if(err){ console.log(err); } else { //render show template with that list res.render("lists/show", {list: foundList}); foundList obj基本上有一个(不是有效的代码,只要你能得到一个想法)的结构: List { name: String, listItems: [{ text: String, bought: Boolean }] 在客户端,我在ejs中使用forEach来遍历listItems,并为每个项目显示一个html元素: <% list.listItems.forEach(function(listItem){ %> <div class="card"> <div class="card list"> ..listItem name here […]

node.js javascript var在res.render()的目标中可用

我试图做一个variables(最终被从数据库中select更复杂的JSON取代)可访问的客户端JavaScript。 我想加载它时,页面呈现,而不是一个Ajax调用,它不会通过模板像ejs(我想传递数据到一个combobox的extjs存储)呈现。 所以我有一个非常贴心的回应: function (req, res) { res.render('index.html', {foo: ['a','b']}); } 和一个空白的html页面我想访问foo: <!DOCTYPE html> <html> <head> <script type=text/javascript> console.log(foo); </script> </head> <body> </body> </html> 有任何想法吗? 我想通过res.send()(这比上面的例子有更多的东西)编写整个HTML页面,但似乎这样的解决方法,应该是显而易见的做…

Express.js中的EJS – Express Helpers无法正常工作 – (app)处于require状态

我用express.js使用EJS模板引擎,我想使用视图助手。 我发现这在github上: https : //github.com/tanema/express-helpers ,但是当我尝试使用它时,我得到这个错误: TypeError: object is not a function at Object.CALL_NON_FUNCTION (native) at Object. (/home/node/app/app.js:12:40) at Module._compile (module.js:402:26) at Object..js (module.js:408:10) at Module.load (module.js:334:31) at Function._load (module.js:293:12) at Array. (module.js:421:10) at EventEmitter._tickCallback (node.js:126:26) 而这条线是app.js上的第12行: var helpers = require('express-helpers')(app); 如果我做到了 var helpers = require('express-helpers'); 它确实会抛出错误,但也不起作用。 我的app.js文件的顶部如下: var express = require('express'); var app = […]

添加插件到ejs?

我怎么能把我自己的自定义函数添加到ejs? <%- custom_function('test') %> 谢谢!

EJS和jQuery不加载JavaScript参考

这让我疯狂。 我有一个快递节点的应用程序。 它提供了一个名为index.ejs的文件。 我想要做的就是在这个页面上导入一个JavaScript文件(类似于jquery)。 但它不会拉起来,我疯了(因为这应该是简单的)。 在服务器端,我有一个名为app.js的文件中的这段代码: var express = require('express'); var app = express.createServer(); var hostName = (process.env.VCAP_APP_HOST || 'localhost'); app.listen( process.env.VCAP_APP_PORT || 8000); app.use(express.static(__dirname + '/public/javascript/')); //Create the view app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.set('view options', { layout: false }); app.get('/', function(req, res){ res.render('index.ejs', { item : "document.write('Hello World');" }); }); 在ejs文件中,我有这样的: […]

通过ejs将参数从node.js传递给knockout.js

我有一个node.js消耗mongodb数据,并使用knockout.js输出列表 当我调用视图我传递一个JSON结构使用 res.render('list', { items:json }); 在list.ejs模板页面中,我定义了一个隐藏的元素: <input type="hidden" id="hidden" value="<%= items %>"> 并在.js文件我读它的价值: var json=$("#hidden").val(); var tkts=jQuery.parseJSON(json); var vm=new AppViewModel(tkts); 嗯…它运行,但我认为(希望)必须有一个更好的办法做到这一点…有没有办法避免隐藏的HTMLvariables,例如?