37 lines
995 B
TypeScript
37 lines
995 B
TypeScript
import fastify from 'fastify'
|
|
import fastify_static from '@fastify/static'
|
|
import fastify_db from '@fastify/leveldb'
|
|
import fastify_view from '@fastify/view';
|
|
import pug from 'pug'
|
|
import { join as pathJoin } from "path";
|
|
|
|
import api from "./router/api"
|
|
|
|
const server = fastify(); //{ logger: true });
|
|
|
|
server.register(fastify_static, {
|
|
root: pathJoin(__dirname, "../public"),
|
|
prefix: "/public/",
|
|
});
|
|
|
|
server.register(
|
|
fastify_db as any,
|
|
{ name: "db" }
|
|
);
|
|
|
|
server.register(fastify_view, {
|
|
engine: { pug: pug },
|
|
});
|
|
|
|
server.register(api, { prefix: "/api" });
|
|
|
|
server.get("/", (req, reply) => reply.view("/template/home.pug"));
|
|
server.get("/:id", (req, reply) => reply.view("/template/journey.pug"));
|
|
server.get("/view/:id", (req, reply) => reply.view("/template/view.pug"));
|
|
server.get("/short/:id", (req, reply) => reply.view("/template/short.pug"));
|
|
|
|
server.listen({ port: 8080, host: "0.0.0.0" }, (err, address) => {
|
|
if (err) throw err;
|
|
console.log("Listening on", address);
|
|
});
|