【发布时间】:2020-05-09 22:41:19
【问题描述】:
Nimit 这边,我的代码需要一些帮助。 那么我可以在同一个网址上加载不同的html页面吗 例如:www.xyz.com/home/random 可以随机超过1个html页面
task1.js 模拟。我有 task2.js,task3.js,task4.js 只是更改了 html 文件名。
//This is the root path!
const path = require("path");
const rootDir = require("../utils/path");
//express routing
const express = require("express");
const router = express.Router();
router.use("/random", (req, res, next) => {
res.sendFile(path.join(rootDir, "views", "task_1.html"));
});
module.exports = router;
app.js
const express = require("express");
const bodyParser = require("body-parser");
const path = require("path");
const app = express();
const homeRouter = require("./routes/homeRouter");
const taskRouter1 = require("./routes/task1");
const taskRouter2 = require("./routes/task2");
const taskRouter3 = require("./routes/task3");
const taskRouter4 = require("./routes/task4");
const errorRouter = require("./routes/error");
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, "public")));
app.use(homeRouter);
// var ch = 1;
// switch (ch) {
// case 1:
// app.use(taskRouter.router1);
// break;
// case 2:
// app.use(taskRouter);
// break;
// case 3:
// app.use(taskRouter);
// break;
// case 4:
// app.use(taskRouter);
// break;
// }
task = Math.floor(Math.random() * 4);
console.log(task);
switch (task) {
case 0:
app.use(taskRouter1);
break;
case 1:
app.use(taskRouter3);
break;
case 2:
app.use(taskRouter3);
break;
case 3:
app.use(taskRouter4);
break;
}
app.use(errorRouter);
console.log("it has started!");
app.listen(1000);
所以事情是它只随机加载一个页面,刷新后它也会加载相同的页面。
【问题讨论】:
-
使用单个路由器。将 4 个 url 加载到一个数组中。在运行时,从数组中随机选择一个 URL 并发送。
-
谢谢你能帮我语法!
标签: javascript html express