aboutsummaryrefslogtreecommitdiff
path: root/src/api/structures
diff options
context:
space:
mode:
authorKana <[email protected]>2021-01-21 00:51:43 +0900
committerGitHub <[email protected]>2021-01-21 00:51:43 +0900
commite779706ab7bf0ae9f41864ed4ecd34da24fc003e (patch)
tree2b7646a6d18e3d99d55f5ead102a82870e21f54a /src/api/structures
parentchore: remove console logs (diff)
parentfeat: prevent embeds being nsfw (diff)
downloadhost.fuwn.me-e779706ab7bf0ae9f41864ed4ecd34da24fc003e.tar.xz
host.fuwn.me-e779706ab7bf0ae9f41864ed4ecd34da24fc003e.zip
Merge pull request #254 from WeebDev/feature/ssr
Feature/ssr
Diffstat (limited to 'src/api/structures')
-rw-r--r--src/api/structures/Server.js25
1 files changed, 7 insertions, 18 deletions
diff --git a/src/api/structures/Server.js b/src/api/structures/Server.js
index 446c621..268ba68 100644
--- a/src/api/structures/Server.js
+++ b/src/api/structures/Server.js
@@ -5,6 +5,7 @@ if (!process.env.SERVER_PORT) {
process.exit(0);
}
+const { loadNuxt, build } = require('nuxt');
const express = require('express');
const helmet = require('helmet');
const cors = require('cors');
@@ -80,25 +81,13 @@ class Server {
});
}
- serveNuxt() {
- // Serve the frontend if we are in production mode
- if (process.env.NODE_ENV === 'production') {
- this.server.use(express.static(path.join(__dirname, '../../../dist')));
+ async serveNuxt() {
+ const isProd = process.env.NODE_ENV === 'production';
+ const nuxt = await loadNuxt(isProd ? 'start' : 'dev');
+ this.server.use(nuxt.render);
+ if (!isProd) {
+ build(nuxt);
}
-
- /*
- For vue router to work with express we need this fallback.
- After all the routes are loaded and the static files handled and if the
- user is trying to access a non-mapped route we serve the website instead
- since it has routes of it's own that don't work if accessed directly
- */
- this.server.all('*', (_req, res) => {
- try {
- res.sendFile(path.join(__dirname, '../../../dist/index.html'));
- } catch (error) {
- res.json({ success: false, message: 'Something went wrong' });
- }
- });
}
createJobs() {