Используя Express Middleware serve-index , полный каталог может быть просмотрен , что в сочетании с server-stati c позволяет изображения и текст быть обработанным (и другими загружаемыми недопустимыми двоичными файлами) при переходе к файлу.
const express = require("express");
const path = require("path")
const serveIndex = require("./index");
const server = express();
server.use("/posts",
express.static("./posts/"),
serveIndex("./posts")
);
server.listen(8080);
Мне бы хотелось, чтобы этот файл соответствовал указанному расширению файла шаблона (например, .pug
, .liquid
.. Консолидация. js), тогда следует использовать соответствующий механизм рендеринга.
Обычно существует выделенный каталог views/
и отдельные маршруты, создаваемые по мере необходимости, но я не буду sh для разброса файлов шаблонов по файловой системе для документирования различных проектов. Путь в URL, который указывается с использованием serve-index, например, localhost/public/views/project-one
, будет использоваться для отображения шаблона index.liquid
в каталоге этого проекта.
const express = require("express");
const path = require("path")
const server = express();
var { Liquid } = require('liquidjs');
var engine = new Liquid();
// register liquid template engine
server.engine('liquid', engine.express());
server.set("views", path.join(__dirname, "views"));
// route and file to return is hardcoded
server.get('/', function (req, res) {
res.render('index') // render `index.liquid`
})
server.listen(8080);