2013-10-12 30 views
-2

我使用的是sails.js,但我试图改变并使用pomelo.js代替。使用pomelo.js代替sails.js - EJS视图渲染器

两者都基于express.js。

但我遇到了一些麻烦,在这里我的Web服务器/ app.js

VAR快递=需要( '表达'); var app = express(); var port = 1337; //假设有帮助,并使用EJS渲染器读取.html文件 app.engine('。html',require('ejs').__ express);

app.configure(函数(){app.use(express.methodOverride());
app.use(express.bodyParser()); app.use(app.router); app.set(”查看 引擎','ejs'); app.set('views',_ dirname +'/ public/views');
app.set('view options',{layout:'layout'}); //布局的名称?没有发现有关视图选项​​的信息... app.set('basepath',
_dirname +'/ public');});

app.configure( '发展',函数(){
app.use(express.static(__目录名+ '/公共/视图/主')); app.use(express.errorHandler({dumpExceptions :true,showStack:true}));});

app.configure( '生产',函数(){风险oneYear = 31557600000;
app.use(express.static(__目录名+ '/公共',{MAXAGE:oneYear}));
应用程序。 use(express.errorHandler());}); (“Web服务器已启动。\ n请登录: http://localhost.com:”+ port +“/ index.html”);

app.listen(port);

但是当我进入页面时,EJS代码不会被解释,而是显示出来。我在views/main中的文件被称为index.html。我试图称它为index.ejs,但如果我这样做,我有消息:不能GET/

所以我不知道该怎么做,我尝试了很多东西,我读了express.js doc和搜索示例,但没有任何作用。我正在使用

"lodash": "~2.2.1", 
"ejs": "~0.8.4", 
"express": "~3.4.0" 

谢谢你的帮忙。 PS:请加标签pomelo.js,我不行。 http://pomelo.netease.com/

+0

好奇你的推理 – mikermcneil

+0

究竟什么是柚子? –

+0

@TravisWebb一个游戏框架,链接在主题:http://pomelo.netease.com/ https://github.com/NetEase/pomelo/wiki/Welcome-to-Pomelo – Vadorequest

回答

-2

最后:

var express = require('express'); 
var app = express(); 
var port = 1337; 

var format = require('../game-server/app/util/format'); 

app.configure(function(){ 
    app.use(express.methodOverride()); 
    app.use(express.bodyParser()); 
    app.use(app.router); 
    app.set('view engine', 'ejs'); 
    app.set('views', __dirname + '/views'); 
    var oneYear = 31557600000; 
    var oneDay = 86400000 
    app.use(express.static(__dirname + '/public', { maxAge: oneDay })); 
    app.use(function(req, res, next){ 
     res.status(404).render('404'); 
    }); 
}); 

app.configure('development', function(){ 
    app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); 
}); 

app.configure('production', function(){ 
    app.use(express.errorHandler()); 
}); 

var getRoutePage = { 
    welcome : { 
     title : "Welcome", 
     mainRender : "main/index.ejs", 
     layout : "main/layout.ejs" 
    } 
}; 

/** 
* Default index page 
*/ 
app.get('/', function(req, res){ 
    res.render(getRoutePage.welcome.mainRender, function(err, html){ 

     var data = { 
      title: getRoutePage.welcome.title, 
      body: html, 
      langScript : '<script src="lang/fr.js"></script>', 
      langTag : "fr" 
     }; 

     // Second rendu. 
     res.render(getRoutePage.welcome.layout, data); 
    }); 
}); 

console.log("Web server has started.\nPlease log on http://127.0.0.1:"+port+"/index.html"); 

app.listen(port);