baryshev / ect

Fastest JavaScript template engine with embedded CoffeeScript syntax
http://ectjs.com
MIT License
626 stars 70 forks source link

root folder is ignored #99

Open kortac opened 8 years ago

kortac commented 8 years ago

You can change the root folder option but it is always ignored:

/**
 * Created by korial on 10.05.16.
 */

var express         = require("express");
var ECT             = require("ect");
var path            = require("path");

var viewsRoot       = path.join(__dirname, "gui", "views");
var ectRenderer     = ECT({watch: false, root: viewsRoot, ext: ".ect"});

var app = express();

app.set("view engine", "ect");
app.set("views root", viewsRoot);
app.engine("ect", ectRenderer.render);

console.log(viewsRoot);

app.use((req, res) => {
    res.render("frontend/home", {});
});

app.listen(8080, "0.0.0.0", () => {
    console.log("Server listening on...");
});

And the console output:

/home/korial/test/gui/views
Server listening on...
Error: Failed to lookup view "frontend/home" in views directory "/home/korial/test/views"

Tested with express 4.13.4 and ECT 0.5.9

kortac commented 8 years ago

Ok, got it. The root folder option only applies to includes within templates.

Is it possible to also affect res.render?