错误:类型错误: $(..).选择选择器不是使用 requireJS 加载的函数库
ERROR:TypeError: $(...).selectpicker is not a function loaded library using requirejs
ERROR:TypeError: $(...).选择选择器不是第一次打开 Web 应用程序时发生的函数错误。
在我的应用中.js
requirejs.config({ baseUrl: '', 路径:{ "jquery": "js/jquery", "jquery-ui": "js/jquery-ui", 文本:"库/文本", "css": "css", 车把:"JS/车把", moment: "js/moment.min", bootstrap: 'js/bootstrap.min', SomtjQuery: 'widgets/somt/js/somtjquery', bootstrapselect: 'js/bootstrap-select', utils: 'widgets/somt/js/utils', filterwidget: 'widgets/somt/js/filterwidget' }, 垫片:{ 车把:{ 出口:"车把" }, "引导程序":{ 部门: ['jquery'] }, 'bootstrapdatepicker':{deps: ['jquery','bootstrap']}, 'Somtjquery': { deps: ['jquery', 'utils', 'bootstrap'] }, 'bootstrapselect': { deps: ['jquery', 'bootstrap'] }, 'jquery': { 出口:"$" }, "日期选择器":{ deps: ["jquery-ui", "bootstrap"], 导出:"$.fn.datepicker" }, "工具提示":{ 部门: ['jquery'], 导出:"$.fn.tooltip" }, 'filterwidget': { deps: ['jquery', "jquery-ui", "bootstrap", "bootstrapselect"], 导出:"过滤器小部件" } }});在过滤器小部件中.jsdefine(["handlebars",'hbs!widgets/somt/templates/pfilter'],function(Handlebars,filter){ var 选择器 = "#somt-filter-area"; $(选择器).html(过滤器); $(function selectDatePicker() { 尝试 { $(selector).find('.selectpicker').selectpicker(); } catch (e) { console.log("日期选择错误消息:"+e); } 尝试 { $(selector).find("#week").datepicker({ 显示:"按钮", 按钮图像:"图像/通用日历月字形.svg", 按钮仅图像:真, 第一天: 1, 在显示日之前: 函数(日期) { 返回 [date.getDay() === weekofday, "]; }, dayNamesMin: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"], 最大日期:当前截止日, 日期格式: '月/日/年' }); } catch (e) { console.log("日期选择器错误消息:"+e); } });});
特别是我在Firefox 36及更低版本中遇到了错误
你误解了如何使用shim
.配置没有正确的依赖项 filterwidget
.使用"填充码"必须仅用于非 amd 库。如果文件具有define
功能,则它的amd模块shim
并且该模块不需要。从shim
中删除此代码:
'filterwidget': {
deps: ['jquery', "jquery-ui", "bootstrap", "bootstrapselect"],
exports: 'filterwidget'
}
并在 filterwidget 中设置过滤器小部件的所有依赖项.js:
define(['jquery', "jquery-ui", "bootstrap","bootstrapselect","handlebars",'hbs!widgets/somt/templates/pfilter']
PS:同时从填充程序中删除 jquery、jquery-ui。这是AMD库。你怎么知道?看看图书馆的开头就知道了。例如'jquery-ui'。如果有这样的内容:
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "jquery" ], factory );
} else {
// Browser globals
factory( jQuery );
}
那么就不需要垫片了。
相关文章:
- angularjs、因果报应和requirejs测试用例错误
- 'define' 在 RequireJS 和 Webapp Yo 生成器上未定义错误
- requirejs优化器错误:未定义窗口
- 带有RequireJS的AngularJS应用程序在Safari和Firefox中给出了“使用严格”错误
- Requirejs+Backbone.js:类型错误:Can't在路由器中传递-路由器不是一个函数
- RequireJS未捕获错误:匿名定义()模块不匹配
- 在node.js中使用requirejs与amdefine生成未定义的错误
- 类型错误:使用 requireJs 时未定义滚动到
- Angular + Requirejs - 以错误的顺序加载
- 将requirejs与Colorbox一起使用:未捕获的类型错误
- Durandal:在找不到视图/视图模型时处理 RequireJS 错误
- 错误:类型错误: $(..).选择选择器不是使用 requireJS 加载的函数库
- 我是否错误地使用了requireJS,或者我下载的库存在严重错误
- Babel/RequireJS + 类型“范围错误:超出最大调用堆栈大小”
- Requirejs 忽略可选依赖项的加载错误
- 页面导航上的 requireJS 错误
- Requirejs带有Knockout错误:无法处理绑定“;组件:函数(){return f}"-匿名定义()
- 如何处理requireJs超时错误
- RequireJS中的动态require,得到"尚未加载上下文“”的模块名称;错误
- 剑道模块和RequireJS (r.js)不玩得好.(加载错误)