Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 预编译下划线模板,不带下划线.js依赖项_Javascript_Underscore.js_Jst_Grunt Contrib Jst - Fatal编程技术网

Javascript 预编译下划线模板,不带下划线.js依赖项

Javascript 预编译下划线模板,不带下划线.js依赖项,javascript,underscore.js,jst,grunt-contrib-jst,Javascript,Underscore.js,Jst,Grunt Contrib Jst,我正在使用grunt contrib jst来预编译我的模板,而且一切都很好。但是,我正在使用它来构建一个插件,我希望文件大小尽可能小 我在代码中不使用下划线.js,但预编译模板似乎将其作为依赖项。以下是一个示例: template = function(obj) { obj || (obj = {}); var __t, __p = '', __e = _.escape; with (obj) { __p += '<div>\n</div>

我正在使用grunt contrib jst来预编译我的模板,而且一切都很好。但是,我正在使用它来构建一个插件,我希望文件大小尽可能小

我在代码中不使用下划线.js,但预编译模板似乎将其作为依赖项。以下是一个示例:

template = function(obj) {
    obj || (obj = {});
    var __t, __p = '', __e = _.escape;
    with (obj) {
    __p += '<div>\n</div>';

    }
    return __p
};
模板=功能(obj){
obj | |(obj={});
变量t,p='',e=.escape;
带(obj){
__p+='\n';
}
返回
};
如您所见,代码段
\uuu e=\uu.escape
需要下划线.js,但模板根本不使用
\uu e


我有没有办法强制grunt contrib jst编译模板,使它们不需要下划线.js?

您能在某个地方声明一个全局变量(
\u={}
)吗?另外,您确定在您的任何模板中都没有使用
\uuu.escape()
?我希望避免污染全局名称空间,因为这是一个类似Google Analytics的插件。这样做将打破任何网站使用它的变量。我认为当模板中有要转义的变量(
)时,可以使用
),而我没有(我只使用
)。您不必使用全局变量,取决于你的代码,你可能可以用一个生命来包装它,所以
\uuu
的作用域将仅限于该函数。是的,我不知道我怎么看不到这一点。谢谢,我要试一试!