Tag: ejs

EJS语法错误,无法在MongoDb的浏览器中呈现logging

Index.ejs写成如下: <% include ../views/partials/header %> <ul> <% todos.forEach(function(todo){ %> <li><%= todo.text %> – <%= todo.body %></li> <% }) %> </ul> <% include ../views/partials/footer %> 我可以console.log数据库logging,但是我得到一个语法错误的EJS文件。 当我在控制台中运行节点app.js时,我在控制台中看到下面的内容。 MongoDB connected Server runnng on port: 3000 [ { _id: 5986375b48422cf78471d7d6, text: 'My ToDo One', body: 'This is my first todo app' }, { _id: 5986379748422cf78471d7e8, text: 'My ToDo […]

使用Node,Express&EJS压缩HTML?

我用Node和Express使用EJS。 我的意见产生的HTML是很大,充满了不必要的空白。 有没有一个选项或中间件,我可以在生产中使用,将压缩的HTML? 例如, <!doctype html> <html><head><title>…</title>….</html>

Nodejs头部脚本的EJS partials

我正在使用EJS来从Nodejs服务器呈现和服务器HTML页面。 我所包含的一些部分在头部引用了脚本和样式表,但这会导致客户端对同一个文件发出多个请求(例如,如果父视图也包含该文件) 例如: <!– file: parent.ejs –> <html> <head> <link rel="stylesheet" href="public/mystylesheet.css"> <script src="public/myscript.js"> </head> <body> <%- partial("partial.ejs") %> </body> </html> 而在部分: <!– file: partial.ejs –> <html> <head> <link rel="stylesheet" href="public/mystylesheet.css"> <script src="public/myscript.js"> </head> <body> This is an EJS partial! </body> </html> 在这种情况下,“mystylesheet.css”被客户端加载两次(不必要的),“myscript.js” 有一种简单的方法(最好使用EJS)确保部分需要时包含样式表或脚本,但是如果父视图已经包含了资源,则不能使用样式表或脚本?

与EJS斗争和不是所谓“本地”变数的范围

我想知道如何使用EJS模板来编写我的node.js应用程序。 实际上,我正在寻找一种合适的方法来在局部/模板中使用默认值来定义局部variables。 我现在很快就会发现它的作用: 当我打电话给一个模板,像这样: <%- partial(__view.partialPath('tagPopover'), { title_popover: sentence.nickname, content_tag: '#' + sentence.nickname, icon_popover: 'http://placehold.it/64×64' }) %> 我用_tagPopover.ejs部分pipe理默认值: title_popover = typeof title_popover != 'undefined' ? title_popover : '' classes_tag = typeof classes_tag != 'undefined' ? classes_tag : 'tags' icon_popover = typeof icon_popover != 'undefined' ? icon_popover : false content_tag = typeof content_tag != 'undefined' ? […]

Sails.js – 控制器正在渲染视图,但集合是未定义的

尝试用新的控制器的帆,但视图无法正确呈现。 我的控制器看起来像这样: /** * QuestionController * * @module :: Controller * @description :: Contains logic for handling requests. */ module.exports = { /* eg sayHello: function (req, res) { res.send('hello world!'); } */ index: function (req, res) { return res.view({ questions: [{title: 'Freddy a presidente?', content: 'Últimamente Freddy se encuentra con más diplomacia.'}] }); } […]

在ajax请求之后重新呈现EJS文件

我试图在点击href时对服务器进行Ajax调用。 当我的href被点击时,我成功地去我的服务器,并调用一个定义的路线。 我的路线正确地为我服务,并将数据发回给我。 下面是这个脚本。 $('.graph-switch').click(function (){ event.preventDefault(); $.getScript("js/ejs_production.js", function() $.ajax({ url:'/spiderSwitch', type: 'GET', data: { type: $(this).attr('href') }, success: function(result){ console.log(result); // correctly displayed // WHAT TO DO AT THIS POINT?? }, error: function(){ alert("well this is not working"); } }); }); }); 在这一点上,我需要重新渲染我想改变的部分。 下面是我想改变的HTML的一部分。 <div class="panel-body text-center"><% include partials/spider-chart.ejs %> </div> 基本上我使用ejs的include关键字来添加一个spider-chart.ejs文件。 以下是spider-chart.ejs文件。 <!– […]

AngularJS的$ routeProvider templateUrl总是使用Express返回404

所以问题是,AngularJS的$routeProvider/ngRoute不能正常工作,因为我需要它。 我无法得到它的路线显示相应的.html页面。 我总是得到GET http://localhost:3000/home.html 404 (Not Found)当我尝试在我的index.ejs页面加载模板。 我已经尝试了多种path来获得.html加载,但我没有成功。 我甚至创build了应用程序中每个文件夹的home.html ,看看它是否会抓住任何东西,但没有任何工作。 当直接注入html时, ng-include也不起作用。 /app.js 简化:原代码使用express.router() var express = require('express'); var app = express(); var path = require('path'); var ejs = require('ejs'); app.set('view engine', 'ejs'); app.set('views', path.join(__dirname, 'views')); app.use(express.static(path.join(__dirname, 'public'))); app.get('/', function(req,res,next) { res.render('index', { page: 'index' }); }); app.listen(3000,function(){ console.log('3k'); }); /views/index.ejs <!DOCTYPE html> <html lang="en" […]

新手问题部分

我有一个简单的页面,头,菜单,内容和页脚。 我需要将它们分成不同的文件。 通过快速文档阅读后(我创build了4个模板)写下这样的东西: app.get('/', function(req, res) { var response = [null, null, null, null] , everyNotNull = function(elem) { return (elem !== null); }, sendResponse = function(type, str) { switch (type) { case 'head' : response[0] = str; break; case 'menu' : response[1] = str; break; case 'content' : response[2] = str; break; case 'footer' […]

如何在EJS中使用req.flash()?

我希望能够通过Express和EJS向客户端刷新消息。 我已经看遍了,我仍然无法find一个例子或教程。 有人能告诉我最简单的方法来刷新消息? 谢谢!

是否可以将多个<% – %>语句添加到node.js ejs布局

我刚刚开始使用node.js,express和ejs。 我正在用layout.ejs文件很难。 我想要做的是类似于你可以在.net中做什么,你有多个内容占位符,在视图中,你可以有多个块进入不同的占位符。 像这样的东西: <!DOCTYPE html> <html> <head> <title><%- title %></title> </head> <body> <%- body %> </body> </html> 我的观点应该如何?