Bootstrap - 未捕获的类型错误:无法读取未定义的属性“fn" [英] Bootstrap - Uncaught TypeError: Cannot read property 'fn' of undefined
问题描述
我正在为我的公司项目使用 jquery、backbonejs、underscorejs 和 bootstrap.有时我在 chrome 中遇到这个错误.
I'm using jquery, backbonejs, underscorejs and bootstrap for my company project. Sometimes I got this error in chrome.
未捕获的类型错误:无法读取未定义的属性fn"
Uncaught TypeError: Cannot read property 'fn' of undefined
我的 shim 在我的 main.js 中是这样的
My shim is like this in my main.js
require.config({
paths: {
jquery: 'libs/jquery/jquery',
underscore: 'libs/underscore/underscore',
backbone: 'libs/backbone/backbone',
backboneeventbinder: 'libs/backbone.eventbinder.min',
bootstrap: 'libs/bootstrap',
jquerytablesorter: 'libs/tablesorter/jquery.tablesorter',
tablesorter: 'libs/tablesorter/tables',
ajaxupload: 'libs/ajax-upload',
templates: '../templates'
},
shim: {
'backbone': {
deps: ['underscore', 'jquery'],
exports: 'Backbone'
},
'underscore': {
exports: '_'
},
}
});
require(['app', ], function(App) {
App.initialize();
});
我已经为 jquery、underscorejs 和backbonejs 插入了 .noConflict().
I already insert .noConflict() for jquery, underscorejs and backbonejs.
我的 app.js
// Filename: app.js
define(['jquery', 'underscore', 'backbone', 'backboneeventbinder', 'bootstrap', 'ajaxupload', 'router', // Request router.js
], function($, _, Backbone, Bootstrap, Backboneeventbinder, Ajaxupload, Router) {
$.noConflict();
_.noConflict();
Backbone.noConflict();
var initialize = function() {
Router.initialize();
};
return {
initialize: initialize
};
});
这是我的 chrome 截图
This is screenshot from my chrome
有点像与 bootstrap 相关.
Its kind like related to bootstrap.
非常感谢.
推荐答案
需要在bootstrap前先加载jquery.
You need to load jquery first before bootstrap.
require.config({
paths: {
jquery: 'libs/jquery/jquery',
underscore: 'libs/underscore/underscore',
backbone: 'libs/backbone/backbone',
bootstrap: 'libs/bootstrap',
jquerytablesorter: 'libs/tablesorter/jquery.tablesorter',
tablesorter: 'libs/tablesorter/tables',
ajaxupload: 'libs/ajax-upload',
templates: '../templates'
},
shim: {
'backbone': {
deps: ['underscore', 'jquery'],
exports: 'Backbone'
},
'jquery': {
exports: '$'
},
'bootstrap': {
deps: ['jquery'],
exports: '$'
},
'jquerytablesorter': {
deps: ['jquery'],
exports: '$'
},
'tablesorter': {
deps: ['jquery'],
exports: '$'
},
'ajaxupload': {
deps: ['jquery'],
exports: '$'
},
'underscore': {
exports: '_'
},
}
});
require(['app', ], function(App) {
App.initialize();
});
像魅力一样工作!快速简便的修复.
Works like charm! quick and easy fix.
这篇关于Bootstrap - 未捕获的类型错误:无法读取未定义的属性“fn"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!