比方说,我保存了一个页脚snipplet。 如何“包含”在我目前的模板?
使vim突出显示ejs(http://embeddedjs.com/)文件的最佳方法是什么? 是否有可能为一般的文件设置html突出显示,并在JavaScript中突出显示<%%>中的部分? 感谢你的帮助!
我正在尝试为节点使用embedded式JavaScript渲染器: https : //github.com/visionmedia/ejs 我想知道如何在.ejs视图文件中包含另一个视图文件(部分)。
在我的index.ejs中我有这样的代码: var current_user = <%= user %> 在我的节点,我有 app.get("/", function(req, res){ res.locals.user = req.user res.render("index") }) 但是,在我获得的页面上 var current_user = [object Object] 如果我写 var current_user = <%= JSON.stringify(user) %> 我获得: var current_user = {"__v":0,"_id":"50bc01938f164ee80b000001","agents":… 有没有办法通过一个JSON,将JS可读 ?
这是我完整的错误: Error: Cannot find module 'ejs' at Function._resolveFilename (module.js:317:11) at Function._load (module.js:262:25) at require (module.js:346:19) at View.templateEngine (/Users/shamoon/local/node/lib/node_modules/express/lib/view/view.js:133:38) at Function.compile (/Users/shamoon/local/node/lib/node_modules/express/lib/view.js:65:17) at ServerResponse._render (/Users/shamoon/local/node/lib/node_modules/express/lib/view.js:414:18) at ServerResponse.render (/Users/shamoon/local/node/lib/node_modules/express/lib/view.js:315:17) at /Users/shamoon/Sites/soldhere.in/app.js:26:7 at callbacks (/Users/shamoon/local/node/lib/node_modules/express/lib/router/index.js:272:11) at param (/Users/shamoon/local/node/lib/node_modules/express/lib/router/index.js:246:11) 我的源代码也很简单: var express = require('express'); var app = module.exports = express.createServer(); // Configuration app.configure(function(){ app.use(express.bodyParser()); app.use(app.router); app.use(express.static(__dirname + '/public')); }); […]
好的,我已经使用Jekyll创build了一个博客,您可以在_config.yml文件中定义可在所有模板/布局中访问的variables。 我正在使用Node.JS / Express与EJS模板和ejs-locals (用于partials / layouts)。我正在寻找类似于像_config.yml中find的site.title这样的全局variables,如果有人熟悉Jekyll 。我有像网站的标题,(而不是页面标题),作者/公司名称,在我的所有网页上保持相同的variables。 这是我目前正在做的一个例子。 exports.index = function(req, res){ res.render('index', { siteTitle: 'My Website Title', pageTitle: 'The Root Splash Page', author: 'Cory Gross', description: 'My app description', indexSpecificData: someData }); }; exports.home = function (req, res) { res.render('home', { siteTitle: 'My Website Title', pageTitle: 'The Home Page', author: 'Cory Gross', description: […]
如果是的话,语法是什么? 我的目标是在不止一个的时候给“评论”这个词添加一个“s”。 在JMVC应用程序的jQuery.ejs模板中。 下面的rest。 我找不到任何条件的文档… <%=commentsNumber%> comment<% if (commentsNumber > 1) { %> s <% } %>
我正在使用Node.js( Forms )的Forms库,它将在后端为我呈现一个表单,如下所示: var signup_form = forms.create({ username: fields.string({required: true}) , password: fields.password({required: true}) , confirm: fields.password({ required: true , validators: [validators.matchField('password')] }) , email: fields.email() }); var signup_form_as_html = signup_form.toHTML(); 最后一行var signup_var signup_form_as_html = signup_form.toHTML(); 创build一个HTML块,如下所示: <div class="field required"><label for="id_username">Username</label><input type="text" name="username" id="id_username" /></div><div class="field required"><label for="id_password">Password</label><input type="password" name="password" id="id_password" /></div><div class="field required"><label for="id_confirm">Confirm</label><input […]
在EJS的github页面上,有一个简单的例子: https : //github.com/visionmedia/ejs 例 <% if (user) { %> <h2><%= user.name %></h2> <% } %> 这似乎是检查名为用户的variables的存在,如果它存在,做一些东西。 杜,对不对? 我的问题是,如果用户variables不存在,为什么世界上会抛出一个ReferenceError? 这使得上面的例子没用。 什么是检查variables存在的适当方法? 我希望使用try / catch机制,并抓住ReferenceError? ReferenceError: user is not defined at IncomingMessage.anonymous (eval at <anonymous> (/usr/local/lib/node/.npm/ejs/0.3.1/package/lib/ejs.js:140:12)) at IncomingMessage.<anonymous> (/usr/local/lib/node/.npm/ejs/0.3.1/package/lib/ejs.js:142:15) at Object.render (/usr/local/lib/node/.npm/ejs/0.3.1/package/lib/ejs.js:177:13) at ServerResponse.render (/usr/local/lib/node/.npm/express/1.0.7/package/lib/express/view.js:334:22) at Object.<anonymous> (/Users/me/Dropbox/Projects/myproject/server.js:188:9) at param (/usr/local/lib/node/.npm/connect/0.5.10/package/lib/connect/middleware/router.js:146:21) at pass (/usr/local/lib/node/.npm/connect/0.5.10/package/lib/connect/middleware/router.js:162:10) at /usr/local/lib/node/.npm/connect/0.5.10/package/lib/connect/middleware/router.js:152:27 […]
我完全失去了这一点; 我正在使用NodeJS来获取JSON,我需要将该variables传递给我的页面,并使JavaScript使用数据。 app.get('/test', function(req, res) { res.render('testPage', { myVar: 'My Data' }); 这是我的Express代码(testing非常简单); 现在使用EJS我想收集这些我知道在页面上呈现的数据很简单 <%= myVar %> 但我需要能够收集这些数据在JavaScript(如果可能在.js文件中),但现在只是要显示在一个警报框中的variables我已经尝试 在Jade中它就像alert('!{myVar}')或!{JSON.stringify(myVar)} 。 我可以在EJS中做类似的事吗? 我不需要任何像<input type=hidden>的字段,并在javascript中使用字段的值。 如果有人可以帮助非常感激