【问题标题】:Use pomelo.js instead of sails.js - EJS view renderer使用 pomelo.js 代替sails.js - EJS 视图渲染器
【发布时间】:2013-10-20 18:30:03
【问题描述】:

我正在使用sails.js,但我正在尝试更改并改用pomelo.js。

两者都基于 express.js。

但我遇到了一些麻烦,这里是我的 web-server/app.js

var express = require('express'); var app = express();变量端口 = 1337; // 假设帮助并使用 EJS 渲染器读取 .html 文件 app.engine('.html', require('ejs').__express);

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

app.configure('开发', function(){
app.use(express.static(__dirname + '/public/views/main')); app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); });

app.configure('production', function(){ var oneYear = 31557600000;
app.use(express.static(__dirname + '/public', { maxAge: oneYear }));
app.use(express.errorHandler()); });

console.log("Web 服务器已启动。\n请登录 http://localhost.com:"+port+"/index.html");

app.listen(端口);

但是当我进入页面时,EJS 代码并没有被解释而是显示出来。我在views/main 中的文件叫做index.html。我试图将其命名为 index.ejs,但如果我这样做了,我会收到消息:Cannot GET /

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

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

感谢您的帮助。 PS:请加标签pomelo.js,不行。 http://pomelo.netease.com/

【问题讨论】:

标签: node.js express views sails.js ejs


【解决方案1】:

最后:

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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    • 2011-08-02
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多