1

我正在尝试使用 Firebase 的 Backfire(用于 Backbone)和 Browserify/Gulp 设置一个项目,但遇到了问题。我做了npm install firebasenpm install backfire然后在我的Models.js模块中我正在尝试..

// ...
var Firebase = require('firebase'),
    Backfire = require('backfire');

module.exports = {
    // ...
    ItemsCollection: Backbone.Firebase.Collection.extend({
      model: ItemModel,
      firebase: new Firebase(FIREBASE_URL + 'items')
    })
  };

不幸的是,“Backbone.Firebase”中的 Firebase 属性错误为未定义..

我找到了一些关于名为“client-backfire”的 npm “shim”的帖子,但是,它似乎已被未发布/弃用。任何想法如何让它工作?

4

1 回答 1

1

收到来自 David @ Google 的官方确认 CommonJS 支持即将到来。同时,我的解决方法如下:

索引.html

<script src="js/libs/underscore.js"></script>
<script src="js/libs/backbone.js"></script>
<script src="js/libs/firebase.js"></script>
<script src="js/libs/backbonefire.js"></script>

<script src="js/bundle.js"></script>  <!-- browserify bundle -->

app.js(应用程序的入口点)

  var $           = require('jquery');
  // var _        = require('underscore');
  // var Backbone = require('backbone');
  // var Firebase = require('firebase');
  // var Backfire = require('backfire');
  Backbone.$ = $;

  $(document).ready(function() {
    var Router = require('./router.js'),
        router = new Router();
    Backbone.history.start();
  });

一旦添加了 CommonJS 支持,我想我应该能够简单地删除所有脚本标签(bundle.js 除外),根据每个模块的需要取消注释 require 语句(这里不需要 Firebase 和 Backbonefire),然后删除 $(document ).ready() 等待函数..

于 2015-01-24T01:04:24.893 回答