使用 RequireJS 初始化 Mustache.js 以具有不同的分隔符/标签



我想知道是否有办法使用 RequireJS 初始化 Mustache.js 库,以便它使用不同的分隔符。

我现在有以下内容,但parseTags没有传递。

配置.js:

requirejs.config(
    paths: {
        'mustache': '.../mustache.min'
    },
    shim: {
        'mustache': {
            'init': function(mustache) {
                return mustache.parseTags(['"[[", "]]"']);
            }
        }
    });

模板.js

define(['mustache'], function(mustache) {
    mustache.render(template. {...});
});
这不是

shim的工作方式; 您可以在main.js(或您拥有的任何主文件)中调用mustache.parseTags,这应该在以后调用render之前更新 Mustache 单例。

我建议使用 deps 和回调配置变量来执行配置。

require.config({
  // ...
  deps: ['mustache'],
  callback: function (mustache) {
    // configure mustache here.
  }
});

但是从 Mustache.js 页面中,我的印象是标签配置是在模板本身内部设置的。(我不是小胡子专家,所以如果有办法,请使用上面的配置。

另外,我没有找到对parseTags函数的引用,但是假设您的问题中提到的init()方法是正确的,那么您可以创建自己的custom_mustache.js模块来返回该引用。

// custom_mustache.js
define(['mustache'], function (mustache) {
    return mustache.parseTags(['"[[", "]]"']);
})

最新更新