3

很抱歉发布另一个“你如何将 * 与 require.js 一起使用”的问题,但我似乎无法让dust.js 在我的 require 项目中工作。我已经用谷歌搜索了,其他人肯定会遇到需要使用的灰尘。我的配置是相当标准的,但我找不到与我看到的问题相同的人。

我从这里使用灰尘 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 确实包含灰尘对象,但由于某种原因,它没有所有方法。特别是缺少它的“编译”方法,这导致我的代码失败。

有没有人对灰尘有更好的了解知道我在这里可能会错过什么?

4

3 回答 3

1

请查看使用https://github.com/akdubya/dustjs/blob/master/dist/dust-full-0.3.0.js是否对您有所帮助。

于 2013-06-27T14:14:35.263 回答
0

Linkedin 现在支持 Dust。如果您想编译一些灰尘模板,也许这可能会对您有所帮助https://github.com/linkedin/dustjs/wiki/Dust-Tutorial#compiling-a-dust-template

我不是 JS 方面的专家,但除了灰尘 + 需求之外,使用 Backbone 可能会很有用。看看这个(我没有足够的声誉来放置更多链接):http ://weatherlabs.com/2012/10/12/backbone-underscore-and-dust/

于 2013-10-31T00:14:25.333 回答
0

您可以使用此 npm 模块预编译模板并将其包装在定义调用中:

https://npmjs.org/package/grunt-dust-require

于 2014-01-26T11:45:16.127 回答