Skip to content

Commit

Permalink
fix conditional import for production server
Browse files Browse the repository at this point in the history
  • Loading branch information
cracker0dks committed Nov 27, 2023
1 parent 7e2c08b commit c7ff551
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 29 deletions.
32 changes: 8 additions & 24 deletions scripts/server-frontend-dev.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
import webpack from "webpack";
import WebpackDevServer from "webpack-dev-server";
import config from "../config/webpack.dev.js";
import { getArgs } from "./utils.js";

const args = getArgs();

if (typeof args.mode === "undefined") {
// default to production mode
args.mode = "production";
}

const devServerConfig = {
hot: true,
Expand All @@ -23,21 +15,13 @@ const devServerConfig = {
},
};

let startFrontendDevServer = function() {}
export default function then(port, resolve) {
new WebpackDevServer(webpack(config), devServerConfig).start(port, (err) => {
if (err) {
console.log(err);
}

if (args.mode === "production") {
console.log("Not loading webpack-dev-server because of production mode!");
} else {
startFrontendDevServer = function(port) {
new WebpackDevServer(webpack(config), devServerConfig).start(port, (err) => {
if (err) {
console.log(err);
}

console.log("Listening on port " + port);
});
}
console.log("Listening on port " + port);
});
resolve(1);
}


export default startFrontendDevServer;
10 changes: 5 additions & 5 deletions scripts/server.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { getArgs } from "./utils.js";
import startFrontendDevServer from "./server-frontend-dev.js";
import startBackendServer from "./server-backend.js";

const SERVER_MODES = {
Expand All @@ -22,10 +21,11 @@ const server_mode = args.mode === "production" ? SERVER_MODES.PRODUCTION : SERVE

if (server_mode === SERVER_MODES.DEVELOPMENT) {
console.info("Starting server in development mode.");
startFrontendDevServer(8080);
// this time, it's the frontend server that is on port 8080
// requests for the backend will be proxied to prevent cross origins errors
startBackendServer(3000);
import("./server-frontend-dev.js").then(function () {
// this time, it's the frontend server that is on port 8080
// requests for the backend will be proxied to prevent cross origins errors
startBackendServer(3000);
});
} else {
console.info("Starting server in production mode.");
startBackendServer(process.env.PORT || 8080);
Expand Down

0 comments on commit c7ff551

Please sign in to comment.