使用express而不使用模板引擎

时间:2011-09-06 10:22:06

标签: node.js express socket.io

是否可以创建快速(节点)应用程序而无需模板引擎(如jade或ejs)。我在大学里有一个大型的最后一年项目,我将使用node,express,socket.io,mongoDB和websockets。我不想让自己也不得不学习模板语言!

默认快递使用jade -t, - 模板添加模板支持(jade | ejs)。默认=玉

4 个答案:

答案 0 :(得分:14)

  

是否可以创建快速(节点)应用程序而无需模板引擎,如jade或ejs

是的。你可以使用HTML。或者只使用EJS。 EJS是HTML的超集。

  

我不想让自己也不得不学习模板语言!

您可以在一天内学习模板语言。它真的会帮助你。去做就对了。这是值得的。

答案 1 :(得分:3)

如果您只想避免学习其他模板语言,可能需要尝试使用下划线模板。它们只是javascript,无论如何你都会学习它。

documentcloud.github.com/underscore/#template

您可以使用以下方式进行设置:

app.register('.html', {
    compile: function(str, options){
        var compiled = require('underscore').template(str);
        return function(locals) {
            return compiled(locals);
        };
    }
});

答案 2 :(得分:2)

最简单的方法是使用以下内容替换默认的app.get('/')...行。 然后把所有的魔法放在index.html中。对于单页应用程序,这至少可以很好地工作。

以下

app.get('/', function(request, response) {
var readFile = "index.html";
var fileContents = fs.readFileSync(readFile);

response.send(fileContents.toString());
});

答案 3 :(得分:1)

现在最好的选择是使用ejs(引擎)并将其配置为接受并呈现html:

app.set('views', path.join(*__dirname*, 'views'))
app.set('view engine', 'ejs'); // template engine
app.engine('html', require('ejs').renderFile); // turn engine to use html

注意:您的所有观看次数或模板都有.html扩展名。