文件上传不适用于 RequireJS
Fileupload is not working with RequireJS
我在使用 requirejs 时加载文件上传时遇到问题。它给我的错误是:
TypeError: this._on is not a function
我想这是因为文件上传也需要加载jquery.ui.widget。所以我尝试导入库,但我似乎无法做到这一点。谁能帮我如何正确加载它?
这是代码:
require.config({
paths: {
'jQuery': 'lib/jquery-1.10.2.min',
'jQuery-ui': 'lib/jquery-ui-1.10.3',
'jQuery-ui-widget' : 'jquery.ui.widget',
'bootstrap': 'lib/bootstrap.min',
'jquery-iframe': 'jquery.iframe-transport',
'fileupload': 'jquery.fileupload',
},
shim: {
'jQuery': {
exports: '$'
},
'jQuery-ui': {
deps: ['jQuery'],
exports: '$'
},
'jQuery-ui-widget': {
deps: ['jQuery', 'jQuery-ui-widget']
},
'bootstrap': {
deps: ['jQuery', 'jQuery-ui']
},
'fileupload': {
deps: ['jQuery', 'jQuery-ui', 'jquery-iframe']
}
},
// only for development purporses:
urlArgs: "bust=" + (new Date()).getTime()
});require(['jQuery', 'jQuery-ui
', 'bootstrap', 'layout', 'menu', 'modal', 'table', 'form', 'fileupload'], function ($, jqueryUi, _bootstrap, layout, menu, modal, table, form, fileupload) {$(document).ready(function () {...
您的配置存在多个问题:
-
jQuery不需要填充程序,在不需要填充程序的地方使用填充程序可能会导致麻烦。
-
jQuery将其模块名称硬编码为
jquery
(全部小写),因此您不能在名称jQuery
下引用它。好吧,您可以使用map
配置将jQuery
映射到jquery
但您目前在配置中没有此类map
。我建议全面使用jquery
,这是我看到的几乎所有使用 RequireJS 和 jQuery 的项目的当前做法。
我还建议在配置中使用enforceDefine: true
,以便 RequireJS 更好地诊断模块加载失败。
相关文章:
- JQueryhide()不适用于Mozzilla,但适用于Chrome
- PHP中的setcookie仅适用于localhost
- html5 drawImage适用于firefox,而不是chrome
- 提供“;onClick"适用于iPad(触摸屏)和桌面用户的默认功能
- jQuery表单验证适用于Mozilla和Internet Explorer,但不适用于Chrome或Safari
- ResolveUrl是否适用于././也
- Firebase updateChildValues适用于IOS,但不适用于Web和Android
- JavaScript警报适用于int,但不适用于string
- SQLite插件适用于Mac和Windows,但不适用于手机上的Safari
- Regex Replace仅适用于Last Match
- window.onload适用于aspx页面,但不适用于普通html
- Jquery Ajax POST不工作.适用于GET
- 画布上的自定义字体仅适用于safari
- Javascript仅适用于alert()和Debug模式
- JS适用于Firefox和Safari,但不适用于Chrome.此处'是我的网站
- Regex不适用于Firefox,但适用于Chrome
- 通过单击主菜单外部关闭子菜单'不适用于IE,但适用于Firefox&铬
- AngularJS$http.post没有'不适用于Chrome,仅适用于IE
- Javascript仅适用于jQuery mobile中的页面刷新
- 如何创建一个“;加载程序文件“;适用于angularjs+requirejs的控制器