-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathindex.js
52 lines (44 loc) · 1.03 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
const Path = require("path");
const NConf = require("nconf");
const Hapi = require("@hapi/hapi");
const Inert = require("@hapi/inert");
NConf.argv().env();
NConf.defaults({
PORT: "3000",
HOST: "localhost"
});
const startServer = async () => {
const server = Hapi.server({
port: NConf.get("PORT"),
host: NConf.get("HOST"),
routes: {
cors: true,
files: {
relativeTo: Path.join(__dirname, "static")
}
}
});
await server.register(require("./rest"), {
routes: {
prefix: "/rest"
}
});
const graphQLServer = require("./graphql");
graphQLServer.applyMiddleware({ app: server });
graphQLServer.installSubscriptionHandlers(server.listener);
await server.register(Inert);
server.route({
method: 'GET',
path: '/{param*}',
handler: {
directory: {
path: '.',
redirectToSlash: true,
index: true,
}
}
});
await server.start();
console.log(`🚀 Server running on ${server.info.uri}`);
};
startServer();