webpack-dev-server provides a Node.js API which can be used directly in Node.js runtime.
To start using the webpack-dev-server Node.js API, first install webpack and webpack-dev-server if you haven’t yet:
npm install --save-dev webpack webpack-dev-serverThen require the modules in your Node.js script:
import webpack from "webpack";
import WebpackDevServer from "webpack-dev-server";It instructs webpack-dev-server instance to start the server.
server.js
import webpack from "webpack";
import WebpackDevServer from "webpack-dev-server";
import webpackConfig from "./webpack.config.js";
const compiler = webpack(webpackConfig);
const devServerOptions = { ...webpackConfig.devServer, open: true };
const server = new WebpackDevServer(devServerOptions, compiler);
const runServer = async () => {
console.log("Starting server...");
await server.start();
};
runServer();And then run the server with the following command:
node server.jsIt instructs webpack-dev-server instance to start the server and then run the callback function.
server.js
import webpack from "webpack";
import WebpackDevServer from "webpack-dev-server";
import webpackConfig from "./webpack.config.js";
const compiler = webpack(webpackConfig);
const devServerOptions = { ...webpackConfig.devServer, open: true };
const server = new WebpackDevServer(devServerOptions, compiler);
server.startCallback(() => {
console.log("Successfully started server on http://localhost:8080");
});And then run the server with the following command:
node server.jsIt instructs webpack-dev-server instance to stop the server.
server.js
import webpack from "webpack";
import WebpackDevServer from "webpack-dev-server";
import webpackConfig from "./webpack.config.js";
const compiler = webpack(webpackConfig);
const devServerOptions = { ...webpackConfig.devServer, open: true };
const server = new WebpackDevServer(devServerOptions, compiler);
const runServer = async () => {
console.log("Starting server...");
await server.start();
};
const stopServer = async () => {
console.log("Stopping server...");
await server.stop();
};
runServer();
setTimeout(stopServer, 5000);And then run the server with the following command:
node server.jsIt instructs webpack-dev-server instance to stop the server and then run the callback function.
server.js
import webpack from "webpack";
import WebpackDevServer from "webpack-dev-server";
import webpackConfig from "./webpack.config.js";
const compiler = webpack(webpackConfig);
const devServerOptions = { ...webpackConfig.devServer, open: true };
const server = new WebpackDevServer(devServerOptions, compiler);
server.startCallback(() => {
console.log("Successfully started server on http://localhost:8080");
});
const stopServer = () =>
server.stopCallback(() => {
console.log("Server stopped.");
});
setTimeout(stopServer, 5000);And then run the server with the following command:
node server.jsReturns the internal IPv4/IPv6 address asynchronously.
server.js
import WebpackDevServer from "webpack-dev-server";
const logInternalIPs = async () => {
const localIPv4 = await WebpackDevServer.internalIP("v4");
const localIPv6 = await WebpackDevServer.internalIP("v6");
console.log("Local IPv4 address:", localIPv4);
console.log("Local IPv6 address:", localIPv6);
};
logInternalIPs();Returns the internal IPv4/IPv6 address synchronously.
server.js
import WebpackDevServer from "webpack-dev-server";
const localIPv4 = WebpackDevServer.internalIPSync("v4");
const localIPv6 = WebpackDevServer.internalIPSync("v6");
console.log("Local IPv4 address:", localIPv4);
console.log("Local IPv6 address:", localIPv6);