0

nodejs 的剃刀视图引擎。 https://github.com/nufyoot/kally-razor

我试过这样的东西..但没有运气。

var razor = kallyrazor({
    root: __dirname + '/views/',
    layout: 'shared/layout.html'
});
app.engine('html', function (path, options, fn) {
    fn(null, razor.render(path, options));
});
4

1 回答 1

1

为我工作。你包括视图引擎吗?

app.set('视图引擎', 'cshtml');

注意:我选择使用 cshtml 扩展只是为了虚荣..(如果那是您的编辑器,那么在 Sublime 中,剃刀语法荧光笔,https://github.com/joseph-turner/Razor

完整代码:

var express = require('express');
var routes = require('./routes');
var user = require('./routes/user');
var http = require('http');
var path = require('path');
var KallyRazor = require('kally-razor');

var app = express();

// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'cshtml'); // NOTE THE VIEW ENGINE
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));

// Setup KallyRazor
var razor = KallyRazor({
    root: __dirname + '/views/',
    layout: '/shared/layout.cshtml'
});

app.engine('cshtml', function (path, options, fn) {
    fn(null, razor.render(path, options));
});

// development only
if ('development' == app.get('env')) {
  app.use(express.errorHandler());
}

app.get('/', routes.index);
app.get('/users', user.list);

http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});
于 2013-12-03T10:55:03.807 回答