javascript - 如何正确使用 Plupload 和 RequireJS?

标签 javascript requirejs plupload

我很难找到有关如何将 Pluupload ( http://www.plupload.com/) 与 RequireJS 结合使用的文档。

我唯一能找到的是:http://pastebin.com/CKGNDDP1 - 但它已经快 3 岁了,此后发生了很多变化。

目前我的配置是:

    requirejs.config({
        paths: {
            shim: {
                plupload: {
                    exports: "plupload"
                },
            },

            paths: {
                jquery: [
                    'lib/jquery.min'
                ],

                plupload: [
                    'lib/plupload.full.min'
                ],
            }
        }
    });

在我的页面上:

define(['jquery', 'plupload'], function($) {
    /**
     * uploader = new plupload.Uploader({......
     */
});

这几乎可以工作,因为它确实会触发文件上传,但是一旦我调用 .start();它坏了(如此处所述:"Uncaught TypeError: Cannot read property 'open' of undefined" - after calling ".start();" - plupload)。现在我不知道这是否与我的设置或插件有关,因为它以前在没有 RequireJS 的情况下工作。

我使用的是最新版本的 plupload (v.2.1.2)。

编辑:

看起来它已经支持 RequireJS。因为我可以远程控制垫片,所以它仍然有效。是否有任何我应该注意的兼容性,通过删除它,或者它是否安全?

最佳答案

我无法在 Plupload 的代码中找到对 define 的调用,这是需要出现在代码中的如果 Plupload 支持 RequireJS。

所以垫片是必要的。

但是,您的配置不正确。您在顶级 paths 中有 shimpaths。它们都应该在顶层:

requirejs.config({
    shim: {
        plupload: {
            exports: "plupload"
        },
    },

    paths: {
        jquery: [
            'lib/jquery.min'
        ],

        plupload: [
            'lib/plupload.full.min'
        ],
    }
});

关于javascript - 如何正确使用 Plupload 和 RequireJS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25740264/

相关文章:

javascript - 设置 window.location 与输入 url?

javascript - 使用 SinonJS stub (带重新布线)

javascript - AngularJS : Decision tree implementation

javascript - 当我点击这个文本框时它变大但是当我点击离开我如何让它恢复正常?

javascript - 如何在 Play Framework 2.1.1 Java 中为 RequireJs 使用多个 main.js 文件?

css - Angular Material 元素未正确加载

javascript - Webpack 模块依赖项就像 requirejs 中一样

php - 如何在上传完成时使用 Plupload 通过 Ajax 返回数据?

php - Laravel+Plupload 上传到 S3 的预检响应无效 - CORS

jquery - Plupload、Carrierwave 和 Rails 3