使用Express with Firebase是个好主意吗?

时间:2016-06-08 00:04:01

标签: express angular firebase

我开始尝试学习MEAN堆栈。但后来我意识到我想使用Firebase代替Mongo.db和Angular2而不是Angular。我遇到了一个问题,我在使用express设置Angular2时遇到了麻烦,所以一切都很简单,并且工作正常。试图为Firebase,Express,Angular2和Node的良好设置找到标准答案,我看到一些帖子显示使用Firebase时不再需要Express。我还是这些框架的新手,所以我不确定我是否理解这一切。我找到了post,这有点回答了我的问题,但它是从2014年开始的,我知道有新版本的Firebase和express。

Express和Firebase目前有什么区别?在什么情况下我应该考虑使用它们?

谢谢!

1 个答案:

答案 0 :(得分:1)

无需快递

npm install angularfire2 firebase --save

以下是如何将其与Firebase一起使用的示例

    import {Component} from '@angular/core';
    import {AngularFire, FirebaseListObservable} from 'angularfire2';

    @Component({
      selector: 'project-name-app',
      template: `
      <ul>
        <li *ngFor="let item of items | async">
          {{ item.name }}
        </li>
      </ul>
      `
    })
    export class MyApp {
      items: FirebaseListObservable<any[]>;
      constructor(af: AngularFire) {
        this.items = af.database.list('/items');
      }
    }

但您可能希望从SEO角度使用Express,即在服务器端呈现应用程序

    import * as express from 'express';
    import {ng2engine} from 'angular2-universal-preview';

    // Angular 2
    import {App} from './src/app';

    let app = express();

    // Express View
    app.engine('.ng2.html', ng2engine);
    app.set('views', __dirname);
    app.set('view engine', 'ng2.html');


    // static files
    app.use(express.static(__dirname));


    app.use('/', (req, res) => {
      res.render('index', { App });
    });



    app.listen(3000, () => {
      console.log('Listen on http://localhost:3000');
    });