terseBanner
terseBanner copied to clipboard
如何使用requireJS来加载?
作者你好,你的插件很好用,我一直在使用,但是最近出了点小问题。
最近我在尝试使用requireJs来管理我的js,当我加载你的插件时,总是会报错(此时没有使用shim),提示我Script error for "default-style", needed by: jquery
。
我尝试添加了shim(如下),依旧会报错,不过报的是$(...).terseBanner is not a function
。
我查看了你的源代码,发现是使用了AMD定义的(使用了AMD定义的,应该不需要shim才对)。
不知道是我使用错了,还是什么其他原因,望指教。
另外如果可以,希望能添加一个使用amd的demo,方便新手使用。
var configs = {// 默认配置
baseUrl: 'js/lib',
paths: {
domReady: 'domReady',
banner: '../vendor/jquery.terseBanner.min',
jquery:'jquery-2.2.4.min'
},
shim: {
banner: {
deps: ['jquery']
}
}
};
require.config(configs);// 加载配置
require([ 'domReady!','jquery', 'banner'], function (doc,$,b) {// 使用domReady!后,回调会在dom准备好后才被调用
console.log($,doc,b);// 3个都能打印出来
console.log($.fn.tersebanner);// undefined
$('.Banner').terseBanner({// 提示找不到terseBanner
animation: "fade",
auto: 3000
});
});
真是抱歉! 这个插件在2.0版本重构的时候,因为要拆分模块使用了requireJs,是我第一次使用requireJS,也是一知半解,在AMD文件加载规范方面犯了一些低级错误; 现已修正,修改之后插件,只保留了合并的js文件中的AMD加载代码,现在requireJS引入之后可以正常使用了
嗯,我也遇到这个问题了,我的解决办法是把代码中的require函数重命名,暂时解决了加载问题