使用RequireJS加载页面时来自FineUploader的MegaPixImage错误

时间:2014-07-27 17:37:49

标签: javascript requirejs fine-uploader

我正在重构我的应用程序以使用RequireJS(在Play Framework中使用sbt-web抽象,但这并不是密切关注)。

首先,我只是试图使用垫片加载FineUploader,因为它不兼容AMD,但我遇到了" MegaPixImage未定义"错误。这对我来说似乎很奇怪,因为FineUploader没有依赖(因为第三方内置是内置的)。

但在看到this Stack Overflow post之后,我分别下载了library并以这种方式设置了我的RequireJS配置(在CoffeeScript中):

requirejs.config(
  paths:
    megapiximage: './megapiximage'
    fineUploader: './custom.fineuploader'
  shim:
    fineUploader:
      exports: 'fineUploader'
      deps: ['jquery', 'megapiximage' ]
)

require(['./main'], (main) ->
  require(['fineUploader', './myfile'])

  return
)

但是,即使该库与AMD兼容,我仍然会收到相同的错误。

我们非常了解如何设置我的RequireJS配置。

1 个答案:

答案 0 :(得分:0)

FineUploader软件包引用了' MegaPixImage'变量,所以你需要使它可用。我认为以下内容应该有效:

require(['fineUploader', 'megapiximage'], function(fineUploader, MegaPixImage) {
    // initialize your fineuploader here
})

请注意,您实际上已经两次包含了MegaPixImage库。因此,我决定将FineUploader保留在我的RequireJS设置之外,并将其作为单独的javascript文件添加到HTML中。