gpt4 book ai didi

javascript - RequireJS 和 Handlebars - Handlebars 未定义

转载 作者:行者123 更新时间:2023-12-03 10:20:41 27 4
gpt4 key购买 nike

我试图在 jQuery 插件中使用 Require JS 和 Handlebars,但我得到的只是“Handlebars 未定义”。 Handlebars 正在正确加载。

我的配置:

require.config({
baseUrl: "static/js/lib",
paths: {
"jquery": "jquery-1.10.2.min",
"handlebars": "handlebars-v3.0.1",
},
shim: {
"jquery.myplugin": {
deps: ["handlebars"]
}
}
});

并且需要插件:

require(["jquery"], function(){

if( $('[data-init="myplugin"]').size() > 0 ){
require(["jquery.myplugin"], function(){
$(function(){
Handlebars.compile("<a></a>"); // This throws Handlebars is undefined
});
$('[data-init="myplugin"]').myplugin();

});
}

});

然后我想在插件中使用 Handlebars。如何将 Handlebars 传递给我的插件以便我可以编译模板? (在脚本标签中)

最佳答案

如果您希望定义 Handlebars ,则需要将其设置为依赖项。例如,您可以将第一行更改为:

require(["jquery", "handlebars"], function($, Handlebars){

此外,如果 jquery.myplugin 所在的文件是由您创建或编辑的,您应该修改它以调用 define() 而不是使用 shim 配置。如果这不是一个选项,您也可以将 jquery 作为依赖项添加到 shim 配置中。那么你只能有一个包含所有三个依赖项的 require 调用。

关于javascript - RequireJS 和 Handlebars - Handlebars 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29653494/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com