很抱歉发布另一个“你如何使用* with require.js”的问题,但我似乎无法让dust.js在我的require项目中工作。我已经google了一下,其他人肯定会因为需要而尘埃落定。我的配置相当标准,但我找不到任何人遇到与我看到的问题相同的问题。
我从这里使用的是尘埃0.3.0的版本: https://github.com/akdubya/dustjs/blob/master/dist/dust-core-0.3.0.js
这是我的配置:
requirejs.config({
//exceptions:
paths: {
'jquery' : 'lib/require-jquery.1.9.1',
'jquery.mockjax' : 'lib/jquery.mockjax.1.5.1',
'dust' : 'lib/dust.0.3.0'
},
//Shims are required for jQuery plugins.
shim: {
'jquery.mockjax': {
deps: ['jquery'],
exports: 'jQuery.fn.mockjax'
},
'dust': {
exports: 'dust'
}
}
});
这就是我在模块中包含灰尘的方法:
define( function( require ) {
var _d = require('dust')
, _template1 = require('text!template/basicmodal.html');
function render(key,callback){
var compiled = _d.compile("Hello {name}!", key);
_d.loadSource(compiled);
_d.render(key, {name: "Fred"}, callback);
}
return {
render : render,
如果我在渲染函数中设置断点,我可以看到_d确实包含尘埃对象,但由于某种原因,它没有所有的方法。特别是它的'compile'方法丢失了,导致我的代码失败。
对尘埃有更深入了解的人是否知道我在这里可能会缺少什么?
答案 0 :(得分:1)
答案 1 :(得分:0)
现在支持Linkedin的粉尘。如果你想编译一些灰尘模板,也许这可能会帮助你https://github.com/linkedin/dustjs/wiki/Dust-Tutorial#compiling-a-dust-template。
我不是JS的专家,但除了dust + require之外,使用Backbone也很有用。 谢谢这个(我没有足够的声誉来提供更多链接):http://weatherlabs.com/2012/10/12/backbone-underscore-and-dust/
答案 2 :(得分:0)
您可以使用此npm模块对模板进行预编译并将其包装在define调用中: