san*_*rom 23 javascript template-engine ruby-on-rails node.js pug
我想在客户端使用Jade模板.最好使用Rails 3.1资产管道生成.我无法弄清楚如何做到这一点.
任何人偶然发现了同样的问题并找到了一个很好的解决方案?任何想法都非常感激.
sub*_*ack 31
如果你使用browserify,你可以使用这个方便的玉器中间件:jadeify.然后,您可以jadeify("foo.jade", { x : 4, y : 5 })
在将视图目录指向中间件后调用浏览器端,然后返回一个jquery句柄.
PS:可能现在Substack的答案更好.
也许你可以使用https://github.com/substack/node-browserify
浏览器端require()用于节点模块和npm包
只需在browserify上指向一个或两个javascript文件,它将遍历AST以递归方式读取所有require().生成的软件包包含您需要的所有内容,包括使用npm提取可能已安装的库!
http://jsperf.com/dom-vs-innerhtml-based-templating/53 =>根据这个基准测试表现并不是那么好=> http://gist.github.com/raw/550723/12d176698628e30a1df398c7ac7aea93924e1294/ jade.js.但根据TJ,它从来不应该在浏览器中使用,而是在node.js中使用.在那种情况下,它会非常快.您可以在浏览器中使用许多替代方案.
此功能现在可在Jade中使用. http://jade-lang.com/api/
从他们的API文档:
var jade = require('jade');
// Compile jade file to a function
var fn = jade.compileClient('string of jade', options);
// Later in client site, render the function to HTML
var html = fn(locals);
Run Code Online (Sandbox Code Playgroud)
您应该将已编译的javascript函数传递给客户端,例如将函数(示例中的fn)写入.js文件,然后将.js文件包含在带脚本标记的html文件中.
另一种选择是使用templatizer,它将jade编译为.js文件.
归档时间: |
|
查看次数: |
25541 次 |
最近记录: |