0

How do you change the default file extension for Vash? I would like syntax highlighting in Visual Studio 2015, so I want to change the extension from .vash to .html.

I read that I should be able to do something like:

app.engine("html", require("vash").__express);

But I can't figure out the syntax, or I have the commands in the wrong order.

I have the code working with .vash files, but if I try to change to .html, I get the following error. I have confirmed that there does exist an index.html file in that folder.

Failed to lookup view "index" in views directory IQuestions.FrontEnd\views"

var http = require("http");
var express = require("express");
var path = require("path");
var logger = require("morgan");
var cookieParser = require("cookie-parser");
var bodyParser = require("body-parser");

var routes = require("./routes/index");
var users = require("./routes/users");

var app = express();

// view engine setup
app.set("views", path.join(__dirname, "views"));
app.engine("html", require("vash").__express);
app.set("view engine", "vash");

app.set("port", process.env.PORT || 3000);
app.use(logger("dev"));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(require("stylus").middleware(path.join(__dirname, "public")));
app.use(express.static(path.join(__dirname, "public")));

app.use("/", routes);
app.use("/users", users);

// catch 404 and forward to error handler
app.use(function (req, res, next) {
    var err = new Error("Not Found");
    err.status = 404;
    next(err);
});

// error handlers

// development error handler
// will print stacktrace
if (app.get("env") === "development") {
    app.use(function (err, req, res, next) {
        res.status(err.status || 500);
        res.render("error", {
            message: err.message,
            error: err
        });
    });
}

// production error handler
// no stacktraces leaked to user
app.use(function (err, req, res, next) {
    res.status(err.status || 500);
    res.render("error", {
        message: err.message,
        error: {}
    });
});

module.exports = app;

http.createServer(app).listen(app.get("port"), function () {
    console.log("Express server listening on port " + app.get("port"));
});
Hoppe
  • 6,508
  • 17
  • 60
  • 114

1 Answers1

0

Try this

app.set('view engine', 'html');    
app.engine("html", require('vash').__express);