webpack-dev-server API

webpack-dev-server 提供一個 Node.js API,可以直接在 Node.js 執行時期中使用。

安裝

若要開始使用 webpack-dev-server Node.js API,請先安裝 webpackwebpack-dev-server(如果您尚未安裝)

npm install --save-dev webpack webpack-dev-server

然後在您的 Node.js 程式碼中載入模組

const Webpack = require('webpack');
const WebpackDevServer = require('webpack-dev-server');

start

它指示 webpack-dev-server 執行個體啟動伺服器。

server.js

const Webpack = require('webpack');
const WebpackDevServer = require('webpack-dev-server');
const webpackConfig = require('./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();

然後使用下列指令執行伺服器

node server.js

startCallback(callback)

它指示 webpack-dev-server 執行個體啟動伺服器,然後執行 callback 函式。

server.js

const Webpack = require('webpack');
const WebpackDevServer = require('webpack-dev-server');
const webpackConfig = require('./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 https://#:8080');
});

然後使用下列指令執行伺服器

node server.js

stop

它指示 webpack-dev-server 執行個體停止伺服器。

server.js

const Webpack = require('webpack');
const WebpackDevServer = require('webpack-dev-server');
const webpackConfig = require('./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);

然後使用下列指令執行伺服器

node server.js

stopCallback(callback)

它指示 webpack-dev-server 執行個體停止伺服器,然後執行回呼函式。

server.js

const Webpack = require('webpack');
const WebpackDevServer = require('webpack-dev-server');
const webpackConfig = require('./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 https://#:8080');
});

const stopServer = () =>
  server.stopCallback(() => {
    console.log('Server stopped.');
  });

setTimeout(stopServer, 5000);

然後使用下列指令執行伺服器

node server.js

internalIP(family: "v4" | "v6")

非同步傳回內部 IPv4/IPv6 位址。

server.js

const WebpackDevServer = require('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();

internalIPSync(family: "v4" | "v6")

同步傳回內部 IPv4/IPv6 位址。

server.js

const WebpackDevServer = require('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);

1 貢獻者

snitin315