我正在使用NodeJS和ExpressJS爲簡單的後端實現RESTful API服務器。我也使用BackboneJS在前端渲染視圖。因此,現在我有一個index.html文件,我想在客戶端向/'路由發送/ GET時呈現。這是我到目前爲止有:在NodeJS和ExpressJS中顯示基本的HTML文件
var express = require('express');
var app = express();
app.use(express.bodyParser());
var mongo = require('mongodb');
var mongoose = require('mongoose');
var Server = mongo.Server,
DB = mongo.Db,
BSON = mongo.BSONPure;
var server = new Server('localhost', 27017, {auto_reconnect: true});
db = new DB('mydb', server, {safe: true});
db.open(function(err, db) {
if(!err) {
console.log("Connected to 'mydb' database");
db.collection('items', {safe:true}, function(err, collection) {
if (err) {
console.log("Creating collection 'items'");
}
});
}
});
var port = process.env.PORT || 3000;
app.engine('.html');
var listItems = function(req, res){
db.collection('items', function(err, collection){
var items = collection.find();
console.log(items);
res.send(items);
});
}
var itemDetails = function(req, res){
}
var deleteItem = function(req, res){
}
var createItem = function(req, res){
}
var updateItem = function(req, res){
}
var routeHome = function(req, res){
// What can I do here to render a plain .html file?
}
app.all('*', function(req, res, next){
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Content-Type", "application/json");
next();
});
app.get('/', routeHome);
app.get('/items', listItems);
app.get('/items/:id', itemDetails);
app.del('/users/:id', deleteItem);
app.post('/users', createItem);
app.put('/users/:id', updateItem);
app.listen(port);
console.log("Server started up on port " + port);
正如你可以看到我所擁有的一切設置,除了我無法弄清楚如何將常規的HTML文件發送到客戶端。我不需要渲染引擎,因爲Backbone正在爲我做所有這些。我只想索引index.html去客戶端。
所以我會放什麼東西在我app.get()回調函數發送該文件返回給客戶端? – 2013-03-08 09:26:33
什麼也沒有,你甚至可以刪除它:) – robertklep 2013-03-08 15:31:12
所以你上面做了什麼將允許GET'/'(我的網站的根)自動呈現index.html? – 2013-03-08 18:15:19