Tag: 帕格

在Express中将节点env传递给layout.jade,而不显式定义路由

所以,我得到传递参数Jade文件 – 一块饼: app.use('/myroute', function (req, res) { res.render('myview', {somevar: 'Testing!'}); }); 但是 – 我有我的layout.jade文件隐式读取和Express呈现,没有实际的路由视图绑定的定义,我试图找出如何将一个variables传递到该模板。 有任何想法吗? 干杯! Ps-这样我就可以将节点的开发/生产variables传递给每个页面上添加的一些前端JavaScript。

hogan.js +玉?

我想使用hogan.js,但是我现在把所有的html写成了jade。 我怎么能build立一个工作stream程,使我能够用玉来编写模板,但仍然使用hogan进行编译? 谢谢你的帮助!

Angular.js可以在脚本标记中的Jade模板中进行插值吗?

我使用angular模板与玉模板,我有一些JavaScript的模板: script(type='text/javascript') console.log('{{name}}'); 在我的angular度控制器,我做了如下的东西: $scope.name = "Bhoutrous"; 只要不在脚本标记下,我就可以{{name}}在模板的任何其他地方正确插入。 对于我来说,angular度抛出一个“SyntaxError:无效的属性ID”错误。 我想知道这是一个玉器问题,还是有一个解决方法。 当页面加载时,我需要将'name'variables的内容传递给一个js函数。 UPDATE 我知道它可以使用常规模板。 下面的例子的小提琴: http : //jsfiddle.net/atentaten/mnscA/ 有没有人有使用玉这样的事情的经验? HTML: <div ng-controller="UserCtrl"> <p>{{data}}</p> <div id="dat"></div> <script type="text/javascript"> function doit(text){ var el = document.getElementById("dat"); el.innerHTML = text; } doit( '{{data}}' ); </script> </div> JS: var app=angular.module('myApp', []); function UserCtrl($scope) { $scope.data = "Green Applese"; };

res.render,res.write和Jade

我正在尝试在Node.js中创build一个简单的ftp客户端。 一切工作正常,但我不知道如何在我的Jade模板中写“singleFile.name”。 app.post('/ftp/login', function(req, res){ ftp.ls("/directory", function(err, files){ if (err) return console.error(err); files.forEach(function(singleFile) { if (singleFile != null){ console.log(singleFile.name + "<br>"); } }); }); res.render('ftpLogin', { host: fHost, username: fUsername, port: fPort}); }); 没有“res.render”没有问题,但我想把它添加到我的模板。 res.writeHead(200, {"Content-type" : "text/html; charset=utf-8"}); […] res.write(singleFile.name + "<br>"); […] res.end(); 我是新手(3天节点学习),所以我会很高兴你的回应错误。 谢谢!

运行客户端时(在浏览器中)将助手附加到Jade

我用mongo db制作了一个由js(Express)提供的单页面应用程序。 我已经使用翡翠模板,并在浏览器中呈现一些模板。 模板渲染良好,除了我无法锻炼如何添加助手。 特别是下一个。 我build立了一个模板/ get /的路线,如下所示: var fs = require('fs'); var jade = require('jade'); exports.get = function(req, res){ fs.readFile('views/partials/listing_snippet.jade', {encoding: 'utf-8'}, function (err, data) { if (err) throw err; console.log(data); t = jade.compile(data, {client: true, compileDebug: false}); res.send('var template = {listing_snippet: ' + t.toString() + '}'); }); } 然后我把这个和jades的'runtime.js'作为脚本放在我的页面顶部。 该模板通过调用template.listing_snippet({locals: foo});渲染罚款template.listing_snippet({locals: foo}); 但我不能让i18next的帮手工作。 […]

翡翠从string格式问题的HTML

我正在尝试渲染存储在mongodb中的一段HTML(由TinyMCE创build),稍后由jade渲染。 这是我的post.contentstring,从console.log显示: <p>Well, I'll tell you about that…</p><p>Sometimes, we are just not sure about these things&nbsp;<span id="_mce_caret" data-mce-bogus="1" style=""><strong>Until we get some formatting!!!!</strong></span></p> 我期待它看起来像这样: 那么,我会告诉你… 有时,我们只是不确定这些事情, 直到我们得到一些格式化! 这就是我所看到的(从Chrome复制): 我在这是要干嘛? < 那么,我会告诉你… 有时,我们只是不确定这些事情, 直到我们得到一些格式化! >好吧,我会告诉你… 有时,我们只是不确定这些事情, 直到我们得到一些格式化! > 这是我的玉模板的相关部分: .container.content h2 #{post.title} hr div #{post.content} 我究竟做错了什么? 显然是UTF-8字节顺序标记…它指向一个格式问题,但我没有看到任何地方我说任何关于格式或改变格式。 在一件事情中出现也是没有意义的。 也不会导致console.log的问题。 至于它重复了两次,我相当迷惑。 也许我写了我的模板是错的?

浏览器中玉器服务器端传递的variables为空

我有一个奇怪的问题,那就是传递给玉的variables在浏览器中是空的,看起来传入的variables是空的,但它不是 nodejs代码(整个路由代码): exports.sensorsettings = function(req, res){ if (!req.session.username) { // if false render res.render('login', { logo: 'img/owl.png', id: 'home', brand: brand }) } else { if(!req.query.sid) (res.redirect('/dashboard')); // get sid information from database db.collection('sensors').findOne({sid:req.query.sid}, function(err, result) { console.log('this is result:' + result); if (result) { console.log('this is result:' + result.name); result= JSON.stringify(result); res.render('new-sensor-settings', { username: […]

Jade不再接受没有JavaScript划定的内联variables?

当我在版本0.34.1(版本1.0.0之前)中使用Jade时,我能够使用内联variables,例如: test = 'fun' p #{test} 哪个会正常输出: <p>fun</p> 但是现在输出: <test>= 'fun'</test> <p></p> 看来这可能在版本1.0.0中已经改变; 虽然,我没有看到描述变化的文档( https://github.com/visionmedia/jade/blob/master/History.md#100–2013-12-22 )。 如果我使用JavaScript的划定,它的工作原理: – test = 'fun' p #{test} 我认为这是因为JavaScript的划定现在是必需的。 我使用grunt-contrib-jade 0.9.1版本和http://jade-lang.com/demo/在本地运行这些testing。 有什么方法可以改变这种情况吗?是否有任何确定的发现为什么发生这种变化? 编辑 感谢@Jonathan Lonowski指出在删除特殊赋值语法中已经注意到了这一点。

使用Express和Jade模板的Node.js不显示leaflet.js地图

我正在尝试使用Jade模板在页面上放置一个地图。 模板看起来像这样: html head script(src='http://cdn.leafletjs.com/leaflet-0.7.2/leaflet.js') link(rel='stylesheet', href='http://cdn.leafletjs.com/leaflet-0.7.2/leaflet.css') script. var map = L.map("map").setView([51.505, -0.09], 13); $(document).ready(function() { L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'}).addTo(map); }); body #map(style='height: 500px;') 查看页面时,生成的HTML如下所示: <html> <head> <script src="http://cdn.leafletjs.com/leaflet-0.7.2/leaflet.js"></script> <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.2/leaflet.css"/> <script> var map = L.map("map").setView([51.505, -0.09], 13); $(document).ready(function() { L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'}).addTo(map); }); </script> </head> <body> <div id="map" […]

改写玉父模板加载机制

我想知道是否有可能重写机制玉装载模板inheritance。 想想下面的代码片段: extends layout block stuff h1 My stuff 如果保存为/dir/template.jade会查找/dir/layout.jade ,我想要的是在渲染过程中从数据库加载layout.jade 。 所以我正在寻找像这样的东西: jade.render( "…", { loadParent: function( path ) { return db.get({ id: path }); } }); 我在文档中找不到任何提示。 你有没有听说过这样的事情? 期待收到您的来信,Dominik