mirror of
https://github.com/lucaspalomodevelop/JSSTE.git
synced 2026-03-13 07:19:37 +00:00
57 lines
1.8 KiB
JavaScript
57 lines
1.8 KiB
JavaScript
let app = require("express")();
|
|
let path = require("path");
|
|
let jsste = require("../src");
|
|
jsste.__config.set("templatePath", __dirname + "/templates");
|
|
jsste.__config.set("pagePath", __dirname + "/pages");
|
|
let fs = require("fs");
|
|
//let supertest = require("supertest");
|
|
|
|
// app.set("views", path.join(__dirname)); // specify the views directory
|
|
// app.set("view engine", "jsste");
|
|
// app.engine("jsste", require("../src").expressEngine());
|
|
// app.get("/:id", function (req, res) {
|
|
// if (/\w+\.[a-z]*[A-Z]*/.test(req.params.id)) {
|
|
// res.sendFile(path.join(__dirname, "pages", req.params.id));
|
|
// } else {
|
|
// let filePath = path.join(__dirname, "pages", req.params.id + ".jsste");
|
|
|
|
// let content = jsste.renderFile(filePath);
|
|
// res.send(content);
|
|
// }
|
|
|
|
// // res.send("File Not found");
|
|
// });
|
|
|
|
function defaultUse(req, res, next) {
|
|
let regex_isAnDotfile = /\w+\.[a-z]*[A-Z]*/;
|
|
let filePath = path.join(__dirname, "pages", req.url);
|
|
|
|
if (regex_isAnDotfile.test(req.url) && !filePath.endsWith(".jsste")) {
|
|
res.sendFile(filePath);
|
|
} else if (fs.existsSync(filePath + ".jsste")) {
|
|
let content = jsste.renderFile(filePath + ".jsste");
|
|
res.send(content);
|
|
} else if (fs.lstatSync(filePath).isDirectory()) {
|
|
let content = jsste.renderFile(path.join(filePath, "index.jsste"));
|
|
res.send(content);
|
|
} else next();
|
|
}
|
|
|
|
app.use(defaultUse);
|
|
// app.use((req, res, next) => {
|
|
// if (/\w+\.[a-z]*[A-Z]*/.test(req.url)) {
|
|
// res.sendFile(path.join(__dirname, "pages", req.url));
|
|
// } else if (fs.existsSync(path.join(__dirname, "pages", req.url + ".jsste"))) {
|
|
// let filePath = path.join(__dirname, "pages", req.url + ".jsste");
|
|
|
|
// let content = jsste.renderFile(filePath);
|
|
// res.send(content);
|
|
// } else {
|
|
// next();
|
|
// }
|
|
// });
|
|
|
|
app.listen(8000, function () {
|
|
console.log("Example app listening on port 8000!");
|
|
});
|