-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.ts
29 lines (26 loc) · 883 Bytes
/
server.ts
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
import config from './nuxt.config';
import { Nuxt, Builder } from 'nuxt';
import {tryStartBootstrap} from './api/main';
import express from 'express';
const expressApp = express();
config.dev = !process.env.PRODUCTION;
async function run() {
const host = process.env.HOST || '127.0.0.1';
const port = process.env.PORT ? parseInt(process.env.PORT, 10) : parseInt(process.argv[process.argv.length - 1] , 10);
expressApp.set('port', port);
config.env = {
baseUrl: host,
};
config.axios.baseURL = `http://${host}:${port}/api/`;
config.axios.browserBaseURL = `http://${host}:${port}/api/`;
const nuxt = new Nuxt(config);
await Promise.all([
tryStartBootstrap(),
config.dev || !!process.env.REBUILD ? (new Builder(nuxt)).build() : void 0,
]);
expressApp.use(nuxt.render);
await new Promise(r => {
expressApp.listen(port, host, r);
});
}
run();