1

在命令行中执行以下步骤以使用节点安装 Ember CLI、Firebase 和 EmberFire 后,我收到一条错误消息,指出 Firebase 未在 app/adapter/application.js 中定义

npm install -g ember-cli

npm install -g bower

npm install -g phantomjs

ember new my-new-app

cd my-new-app

ember server

此时我可以在 localhost:4200 看到我的 ember 应用程序,默认输出为“Welcome to Ember.js”

npm install firebase
npm install —save ember-fire
ember generate adapter application

然后在 app/adapter/application.js 中,移除“export default DS.RESTAdapter.extend({});” 并粘贴“导出默认 DS.FirebaseAdapter.extend({ firebase: new Firebase('https://.firebaseio.com') });” 使用我自己的 Firebase URL

ember server

然后我在终端中收到错误:

Serving on http://0.0.0.0:4200

lionworxs/adapters/application.js: line 4, col 17, 'Firebase' is not defined.

1 error

===== 1 JSHint Error

Path or pattern "vendor/firebase/firebase.js" did not match any files
Error: Path or pattern "vendor/firebase/firebase.js" did not match any files

我曾尝试在上面指定的目录中创建 firebase.js 文件,但它会导致一连串全新的错误,所以我认为我错过了安装步骤。即使在通过命令行“安装”它之后,我是否需要在我的应用程序中手动包含 Firebase?

4

2 回答 2

5

Bower 安装 Firebase 和 EmberFire。

    bower install firebase --save
    bower install emberfire --save

确保您在 index.html 文件中需要对 Firebase 和 EmberFire 进行必要的脚本调用:

    <!-- Firebase -->
    <script src="https://cdn.firebase.com/js/client/1.0.19/firebase.js"></script>
    <!-- EmberFire -->
    <script src="https://cdn.firebase.com/libs/emberfire/1.1.3/emberfire.min.js"></script>

在您的适配器中,尝试使用 window.Firebase:

    import DS from 'ember-data';

    export default DS.FirebaseAdapter.extend({
      firebase: new window.Firebase('https://your-firebase-data-url.firebaseio.com/web/data')
    });

您的问题与此类似 -将 firebase 和 emberfire 依赖项添加到 ember.js 应用程序(ember-cli) ...

您可能会发现那里的最终评论很有帮助 - https://stackoverflow.com/a/24541248/409156

于 2014-08-11T03:09:16.767 回答
0

我遇到了与user2817513相同的问题。从另一个线程复制此响应,因为它是唯一对我有用的东西:

tikotzky发表:

如果有人还在寻找这个,我刚刚创建了一个 ember-cli 插件,其中包含 firebase 和 emberfire 到应用程序中。

您需要做的就是在您的应用程序中运行 npm install --save-dev ember-cli-emberfire ,您应该一切顺利。

您可以在此处查看代码https://github.com/tikotzky/ember-cli-emberfire

于 2014-09-11T04:48:38.260 回答