javascript - 通过 browserify 需要 Angularfire

标签 javascript angularjs browserify angularfire npm-install

我已经通过 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']);

关于javascript - 通过 browserify 需要 Angularfire,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38448857/

相关文章:

javascript - 引用错误:g 未定义

javascript - 无法将数据从 Controller 绑定(bind)到 View 。控制台没有错误

javascript - 从 require() 文件访问函数

javascript - 在 Ajax.success 上调用另一个脚本的函数

javascript - 网络推送通知未显示

javascript - 以 Angular 获取选中的复选框

javascript - Angular JS : Validate form fields before submit

javascript - 为什么我的 browserify 任务会在导出的末尾附加两次

javascript - Browserify - 如何使我的模块可以访问变量?

javascript - 禁用/启用输入 :date on checkbox click doen't work properly?