1

localforage lib を require.js で読み込もうとしていますが、うまくいきません。これが私のrequire.js構成です:

main.html:

<body>
 <script type="text/javascript" src="/xyz/js/lib/require-2.1.22.js">  </script>
 <script type="text/javascript" src="/xyz/js/main.js?version=1.0.0"></script>
</body>

main.js:

var appVersion = "1.0.0";
requirejs.config({      
    baseUrl: "../js",
    paths: {
        jquery: "lib/jquery-1.12.1",
        jquery_caret:  "lib/jquery.caret-1.5.1",
        lodash: "lib/lodash-4.5.1",
        localforage: "lib/localforage"
    },      
    shim: {
        jquery_caret: ["jquery"]
    },
    urlArgs: "version=" + appVersion
});

var scriptSources = ["jquery", "jquery_caret", "localforage", "lodash"];    
require(scriptSources, function() {
    //all scripts loaded
});

しかし、後でこのようにlocalforageを使用するとき

localforage.setDriver(localforage.INDEXEDDB).then(function() {
    console.log("Hi there");
});

常に未定義です。ところで。Dexieでも同じ問題を抱えています。そして、READMEから次のコードを追加すると

define(['localforage'], function(localforage) {
  // As a callback:
  localforage.setItem('mykey', 'myvalue', console.log);

  // With a Promise:
  localforage.setItem('mykey', 'myvalue').then(console.log);
});

requirejs.org/docs/errors.html#mismatch からエラーが発生していますが、それはどういう意味ですか? 誰か説明してくれませんか?よくわかりません。

4

1 に答える 1