
Оглавление
Sokhavuth TIN ・ Aug 11 ・ 2 min read
GitHub: https://github.com/Sokhavuth/opine-job
Deno Deploy: https://khmerweb-job.deno.dev/users
В Opine, как и в веб-фреймворках Express, перед созданием любой страницы необходимо сначала определить маршрут, ведущий к этой странице, используя класс Router в фреймворке. Поскольку маршрут к бэкенду под именем «users» уже был создан с помощью Opine CLI, нам нужно создать несколько подмаршрутов, которые будут прикреплены к этому предопределенному маршруту «users». Фактически, мы можем создать маршрут, ведущий на страницу входа в систему, и этот маршрут может быть подключен к маршруту бэкенда «users», как показано ниже:
// routes/users.ts
import { Router } from "../deps.ts";
const router = Router();
import login from "./users/login.js";
router.use("/", login);
export default router;
// routes/users/login.js
import { Router } from "../../deps.ts";
const router = Router();
import login from "../../controllers/users/login.js";
router.get("/", async (req, res, next) => {
const html = await login.getForm(req);
res.send(html);
});
export default router;
// controllers/users/login.js
import login from "../../views/users/login.jsx";
class Login{
async getForm(req){
const config = req.mysetting();
config.page_title = "Login Page";
config.route = '/users/login';
return await login(config);
}
}
export default new Login();