Render raw HTML

前端 未结 11 1186
自闭症患者
自闭症患者 2020-12-23 18:48

I want to render raw .html pages using Express 3 as follows:

server.get(\'/\', function(req, res) {
    res.render(\'login.html\');
}

11条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-12-23 19:10

    I wanted to do this because I'm creating a boilerplate NodeJS server that I don't want tied to a view engine. For this purpose it's useful to have a placeholder rendering engine which simply returns the (html) file content.

    Here's what I came up with:

    //htmlrenderer.js
    
    'use strict';
    
    var fs = require('fs'); // for reading files from the file system
    
    exports.renderHtml = function (filePath, options, callback) { // define the template engine
        fs.readFile(filePath, function (err, content) {
            if (err) return callback(new Error(err));
            var rendered = content.toString();
            // Do any processing here...
            return callback(null, rendered);
        });
    };
    

    To use it:

    app.engine('html', htmlRenderer.renderHtml);
    app.set('view engine', 'html');
    

    Source: http://expressjs.com/en/advanced/developing-template-engines.html

    Comments and constructive feedback are welcome!

提交回复
热议问题