在处理IIFE时,用requireJS替换commonJS并不是那么简单

时间:2018-07-21 12:55:25

标签: javascript requirejs indexeddb commonjs

我想在浏览器的IndexedDB中存储一些资源。

为此,我想使用Jake Archibald的idb库,该库允许我使用promise而不是请求。

在github上,他展示了如何使用commonJS导入该库,但我想使用requireJS。

我认为这很简单,但到目前为止,我尝试的所有操作均无效。 这是github仓库:https://github.com/jakearchibald/idb。 该库是IIFE的一个大库,而他提出的解决方案却行得通:

"use strict"
(function(){
    function's body
})();

我的解决方案没有。

假设该库看起来像:

define(function(){
    return {
        database: 
        (function(){function's body})();
           }
});

我试图将其封装在define块中,如下所示:

define([
    'library'
], function(library){
    await library.database.open(...);
});

然后像这样导入它:

define([
    'library'
], function(library){
    var db = new library.database();
    await db.open(...);
});

或者像这样:

new BABYLON.Layer(name: string, imgUrl: Nullable<string>);

但是它不起作用并且会引发错误。

您知道我在做什么错吗?

0 个答案:

没有答案