RequireJS未加载Firebase,未定义

mik*_*ail 4 javascript requirejs firebase

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

项目结构如下:

/index.html
/js/main.js
/js/vendor/firebase.js
/js/vendor/require.js
/js/vendor/jquery.min.js
Run Code Online (Sandbox Code Playgroud)

index.html包括:

<script src='js/vendor/require.js' data-main="js/main"></script>
Run Code Online (Sandbox Code Playgroud)

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)
});
Run Code Online (Sandbox Code Playgroud)

为什么jquery加载很好但firebase没有?

mik*_*ail 11

弄清楚了.Firebase默认不支持AMD,因此需要在require.js配置中将其添加为填充程序:

main.js:

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