通过 browserify 需要 Angularfire

require Angularfire via browserify

我已经通过 NPM 安装了 Angularfire,但是当我尝试在我的 Angular 应用程序中使用它时,它显示

firebase.initializeApp is not a function

这就是我现在尝试使用它的方式

var angular = require('angular');
var firebase = require('angularfire/index.js');

firebase.initializeApp({
    apiKey: "key",
    authDomain: "app.firebase.com",
    databaseURL: "app.firebase.com",
    storageBucket: "app.appspot.com",
});

var structurator = angular.module('structurator', ['firebase']);

index.js 是因为我注意到 Angularfire 在 index.js

中使用此代码导出自身
// Make sure dependencies are loaded on the window
require('angular');
require('firebase');

// Load the Angular module which uses window.angular and window.Firebase
require('./dist/angularfire');

// Export the module name from the Angular module
module.exports = 'firebase';

我也试过只导入 Angularfire 而没有 Firebase,同时导入 Angularfire 和 Firebase 并引用两者...等等

首先,由于index.js被指定为angularfire/package.json下的主文件,您可以直接require('angularfire').

您还需要将导入分配给变量:

var firebase = require('firebase');
var angular = require('angular');
var angularfire = require('angularfire');

那么您的其余代码应该可以工作:

var firebase = require('firebase');
var angular = require('angular');
var angularfire = require('angularfire');

firebase.initializeApp({
    apiKey: "key",
    authDomain: "app.firebase.com",
    databaseURL: "app.firebase.com",
    storageBucket: "app.appspot.com",
});

var structurator = angular.module('structurator', ['firebase']);