【问题标题】:Using Dust in require.js在 require.js 中使用 Dust
【发布时间】:2013-06-27 09:23:28
【问题描述】:

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

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

有谁对灰尘有更深入的了解,知道我在这里可能遗漏了什么吗?

【问题讨论】:

    标签: javascript requirejs dust.js


    【解决方案1】:

    【讨论】:

    • 啊,我明白了。那么'compile()'不是核心方法吗?我现在已经包含了灰尘(伙计,那个文件很大),并且 _d 对象具有我期望的方法。谢谢你。 :-)
    • 实际上我以前从未使用过该库:P 我只是去 github 看看你。我很高兴它对你有帮助。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-10
        相关资源
        最近更新 更多