我开始尝试学习MEAN堆栈。但后来我意识到我想使用Firebase代替Mongo.db和Angular2而不是Angular。我遇到了一个问题,我在使用express设置Angular2时遇到了麻烦,所以一切都很简单,并且工作正常。试图为Firebase,Express,Angular2和Node的良好设置找到标准答案,我看到一些帖子显示使用Firebase时不再需要Express。我还是这些框架的新手,所以我不确定我是否理解这一切。我找到了post,这有点回答了我的问题,但它是从2014年开始的,我知道有新版本的Firebase和express。
Express和Firebase目前有什么区别?在什么情况下我应该考虑使用它们?
谢谢!
答案 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');
});