來自express.js,我想給flatiron嘗試一個小項目。但是,有一些小問題阻止我實際上到達某個地方。flatiron.js路由和聯盟,董事和板塊的模板?
var flatiron = require('flatiron')
, session = require('connect').session
, ecstatic = require('ecstatic')
, path = require('path')
, fs = require('fs')
, plates = require('plates')
, director = require('director')
, winston = require('winston')
, union = require('union');
var router = new director.http.Router();
var server = union.createServer({
before: [
ecstatic(__dirname + '/public')
]
});
router.get('/', function() {
var self = this;
fs.readFile('public/layout.html', 'utf-8', function(err, html) {
[...]
})
});
server.listen(3000, function() {
console.log('Application is now started on port 3000');
});
如何使用導向器工作?當我離開ecstatic時,我可以定義像'/'這樣的路線,它可以工作,但是我沒有得到靜態的CSS和JS內容。欣喜若狂/被替換爲'index.html',狂喜優先於所有定義的路線。 - 這與連接靜態相同。路由(/)被index.html替換。
我也嘗試使用connect中間件,它不工作了不同的方法:
var flatiron = require('flatiron')
, connect = require('connect')
, path = require('path')
, fs = require('fs')
, plates = require('plates')
, app = flatiron.app;
app.use(flatiron.plugins.http);
app.use(connect.favicon());
app.use(connect.static(__dirname + '/public'));
app.use(connect.directory(__dirname + '/public'));
app.use(connect.cookieParser('my secret here'));
app.use(connect.session({'secret': 'keyboard cat'}));
app.router.get('/', function() {
console.log("GET /");
var self = this;
fs.readFile('public/layout.html', 'utf-8', function(err, html) {
[...]
})
});
app.listen(3000, function() {
console.log('Application is now started on port 3000');
});
謝謝爲了弄清楚這一點。這太奇怪了,記錄不完整! – 2012-06-20 05:16:17
感謝張貼,我錯過了connect.static()部分。 – Zacho 2012-07-09 16:29:46