RequireJS 未加载 Firebase,未定义

RequireJS not loading Firebase, undefined

我正在尝试使用 RequireJS 制作一个简单的 Firebase 应用程序,但由于某种原因无法引入 Firebase。我创建了一个基本示例来说明我的问题。

项目结构是这样的:

/index.html
/js/main.js
/js/vendor/firebase.js
/js/vendor/require.js
/js/vendor/jquery.min.js

index.html包括:

<script src='js/vendor/require.js' data-main="js/main"></script>

main.js:

require.config({
    paths: {
        'jquery': "vendor/jquery.min",
        'firebase': "vendor/firebase"
    }
});

require(["firebase", "jquery"], function (firebase, $) {
    "use strict";

    console.log(firebase);  // undefined
    console.log($);         // function m(a, b)
});

为什么 jquery 可以正常加载但 firebase 不能?

想通了。 Firebase 默认不支持 AMD,因此需要在 require.js 配置中将其作为垫片添加:

main.js:

require.config({
    paths: {
        'jquery': "vendor/jquery.min",
        'firebase': "vendor/firebase"
    },
    shim: {
        'firebase': {
            exports: 'firebase'
        }
    }
});