Bootstrap文件输入-Kartik - 与require.js,AngularJS一起使用时失败,没有错误消息

时间:2014-11-05 13:57:54

标签: jquery css angularjs twitter-bootstrap

我正在尝试使用我的项目设置此插件 http://plugins.krajee.com/file-input演示在这里,http://plugins.krajee.com/file-input/demo 它很容易设置, 但是我的项目使用AngularJS,requirejs加载所有依赖项 和angular-ui路由器因此我将require css文件添加到我的html页面,然后我指向require.js配置文件中的.js文件,当我这样做时,插件简单失败,没有任何错误消息。有人知道问题是什么,或者插件不能与require.js一起使用

这是我的require配置文件

require.config({
baseUrl: "/Client/"
, paths: {
    "jquery": "libs/jquery-1.10.2.min"
    , 'async': 'plugins/requirejs-plugins/async'
          , "angular": "libs/angularjs1.3/angular"
      , "bootstrapFileInput": "plugins/bootstrapfileinput/js/fileinput"
}
})

3 个答案:

答案 0 :(得分:0)

Require.js 将您的javascript与其他脚本隔离,以避免冲突。您需要在配置 shim 中指定 fileinput 所需的依赖项。

require.config({
    paths: {
        'bootstrap': 'path/to/bootstrap.min',
        'fileinput': 'path/to/fileinput',
        'jquery': 'path/to/jquery.min'
    },
    shim: {
        "bootstrap" : {
            "deps" :['jquery']
        },
        "fileinput" : {
            "deps" :['jquery','bootstrap']
        }
    }
});
require(['bootstrap','fileinput'],function(){});

第二个 require 调用将触发异步加载。 文件输入 将扫描dom并更改加载后找到的所有输入。

答案 1 :(得分:0)

我也遇到了这个问题。 也许require.js的版本与你的bootstrap-input组件不兼容。你可以尝试使用较低版本的require.js,例如1.0.8

答案 2 :(得分:0)

我也遇到过这个问题!
当我使用这个插件时,没有requirejs。一切都没问题。 但是当我在requirejs中使用它时,看起来很正常,初始化代码似乎正常工作。在控制台中没有错误。但是当我通过它上传文件时。 此插件不会使用我在初始参数中配置的URL将文件数据发布到我的服务器,它只是将数据发布到当前页面URL。

指定的JavaScript库如下:

RequireJS 2.1.15 jQuery JavaScript Library v1.11.2 Bootstrap-fileinput v4.3.5

文件加载详情为:

使用传统方法加载CSS文件 由requirejs加载的jQuery,bootstrp和fileinput JavaScript。

我觉得它适用于低版本requirejs(1.0.8) 如果您的项目可以使用低版本requirejs。您可以尝试此解决方案