46 lines
1.5 KiB
JavaScript
46 lines
1.5 KiB
JavaScript
const express = require("express");
|
|
const app = express();
|
|
const path = require("path");
|
|
const compression = require("compression");
|
|
const history = require("connect-history-api-fallback");
|
|
const PORT = process.env.HTTP_PORT || 3000;
|
|
const IP = process.env.HTTP_IP || undefined;
|
|
const pkg = require("./package.json");
|
|
|
|
let fs = require("fs");
|
|
var TafConfig = require("@taf/taf-config");
|
|
|
|
const conf = { config: {} };
|
|
|
|
(async () => {
|
|
try {
|
|
console.log("pkg---", pkg);
|
|
const pkgName = pkg.name;
|
|
console.log("pkgName---", pkgName);
|
|
const tafConfig = new TafConfig({ fileName: `${pkgName}.conf` });
|
|
const allConfigData = await tafConfig.getAllConfigData();
|
|
console.log("allConfigData", typeof allConfigData, allConfigData);
|
|
conf.config = JSON.parse(allConfigData[`${pkgName}.conf`]);
|
|
console.log("conf.config", conf.config);
|
|
const jsStr = `window.config = ${JSON.stringify(conf.config)}`;
|
|
console.log("jsStr", jsStr);
|
|
console.log("publicPath---", pkg.publicPath);
|
|
fs.writeFileSync(`./public/${pkg.publicPath}/static/js/config.js`, jsStr);
|
|
} catch (error) {
|
|
console.log("error", error);
|
|
}
|
|
})();
|
|
|
|
app.use("/s", (req, res, next) => {
|
|
console.log(req);
|
|
console.log(req.url, `/${pkg.publicPath}${req.url}`);
|
|
res.redirect(`/${pkg.publicPath}${req.url}`);
|
|
});
|
|
|
|
app.use(compression());
|
|
app.use(history());
|
|
app.use(express.static(path.join(__dirname, "public")));
|
|
app.listen(PORT, IP, () => {
|
|
console.log(`Running at http://${IP ? IP : "localhost"}:${PORT}`);
|
|
});
|