mirror of
https://codeberg.org/ashley/poke.git
synced 2024-11-26 09:58:14 +01:00
add minify js :3
This commit is contained in:
parent
9a26c2a332
commit
f852fc7410
1 changed files with 43 additions and 30 deletions
|
@ -66,41 +66,54 @@ module.exports = function (app, config, renderTemplate) {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const CleanCSS = require("clean-css");
|
const CleanCSS = require("clean-css");
|
||||||
|
|
||||||
const cssDir = "./css/";
|
const cssDir = "./css/";
|
||||||
|
|
||||||
app.get("/css/:id", (req, res) => {
|
app.get("/css/:id", (req, res) => {
|
||||||
const filePath = path.join(cssDir, req.params.id);
|
const filePath = path.join(cssDir, req.params.id);
|
||||||
|
if (!fs.existsSync(filePath)) {
|
||||||
|
res.status(404).send("File not found");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (req.params.id.endsWith(".css") && !req.query.nomin) {
|
||||||
|
// Minimize the CSS file
|
||||||
|
const css = fs.readFileSync(filePath, "utf8");
|
||||||
|
const minimizedCss = new CleanCSS().minify(css).styles;
|
||||||
|
// Serve the minimized CSS file
|
||||||
|
res.header("Content-Type", "text/css");
|
||||||
|
res.send(notice + " " + minimizedCss);
|
||||||
|
} else {
|
||||||
|
// Serve the original file
|
||||||
|
res.sendFile(req.params.id, { root: html_location });
|
||||||
|
}
|
||||||
|
|
||||||
|
if (req.params.id.endsWith(".js")) {
|
||||||
|
res.redirect("/static/" + req.params.id);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get("/static/:id", (req, res) => {
|
||||||
|
if (req.params.id.endsWith(".css")) {
|
||||||
|
res.redirect("/css/" + req.params.id);
|
||||||
|
} else if (req.params.id.endsWith(".js")) {
|
||||||
|
const filePath = path.join(html_location, req.params.id);
|
||||||
if (!fs.existsSync(filePath)) {
|
if (!fs.existsSync(filePath)) {
|
||||||
res.status(404).send("File not found");
|
res.status(404).send("File not found");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// Minimize the JavaScript file
|
||||||
if (req.params.id.endsWith(".css") && !req.query.nomin) {
|
const js = fs.readFileSync(filePath, "utf8");
|
||||||
// Minimize the CSS file
|
const minimizedJs = require("uglify-js").minify(js).code;
|
||||||
const css = fs.readFileSync(filePath, "utf8");
|
// Serve the minimized JavaScript file
|
||||||
const minimizedCss = new CleanCSS().minify(css).styles;
|
res.header("Content-Type", "text/javascript");
|
||||||
// Serve the minimized CSS file
|
res.send("// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-3.0-or-later" + " " + minimizedJs + " " + "// @license-end");
|
||||||
res.header("Content-Type", "text/css");
|
} else {
|
||||||
res.send(notice + " " + minimizedCss);
|
|
||||||
} else {
|
|
||||||
// Serve the original file
|
|
||||||
res.sendFile(req.params.id, { root: html_location });
|
|
||||||
}
|
|
||||||
|
|
||||||
if (req.params.id.endsWith(".js")) {
|
|
||||||
res.redirect("/static/" + req.params.id);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
app.get("/static/:id", (req, res) => {
|
|
||||||
if (req.params.id.endsWith(".css")) {
|
|
||||||
res.redirect("/css/" + req.params.id);
|
|
||||||
}
|
|
||||||
|
|
||||||
res.sendFile(req.params.id, { root: html_location });
|
res.sendFile(req.params.id, { root: html_location });
|
||||||
});
|
}
|
||||||
|
});
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue