我正在重构我的应用程序以使用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配置。
答案 0 :(得分:0)
FineUploader软件包引用了' MegaPixImage'变量,所以你需要使它可用。我认为以下内容应该有效:
require(['fineUploader', 'megapiximage'], function(fineUploader, MegaPixImage) {
// initialize your fineuploader here
})
请注意,您实际上已经两次包含了MegaPixImage库。因此,我决定将FineUploader保留在我的RequireJS设置之外,并将其作为单独的javascript文件添加到HTML中。