我很难找到有关如何将 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
中有 shim
和 paths
。它们都应该在顶层:
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/