File tree Expand file tree Collapse file tree 4 files changed +81
-0
lines changed
examples/api/stop-callback Expand file tree Collapse file tree 4 files changed +81
-0
lines changed Original file line number Diff line number Diff line change
1
+ # API: stopCallback(callback)
2
+
3
+ While it's recommended to run ` webpack-dev-server ` via the CLI, you may also choose to start a server via the API.
4
+
5
+ This example demonstrates using ` stopCallback(callback) ` method. It instructs ` webpack-dev-server ` instance to stop the server and then run the callback function.
6
+
7
+ ``` js
8
+ const Webpack = require (" webpack" );
9
+ const WebpackDevServer = require (" webpack-dev-server" );
10
+ const webpackConfig = require (" ./webpack.config" );
11
+
12
+ const compiler = Webpack (webpackConfig);
13
+ const devServerOptions = { ... webpackConfig .devServer };
14
+ const server = new WebpackDevServer (devServerOptions, compiler);
15
+
16
+ server .startCallback (() => {
17
+ console .log (" Successfully started server on http://localhost:8080" );
18
+ });
19
+
20
+ const stopServer = () =>
21
+ server .stopCallback (() => {
22
+ console .log (" Server stopped." );
23
+ });
24
+
25
+ setTimeout (stopServer, 5000 );
26
+ ```
27
+
28
+ Use the following command to run this example:
29
+
30
+ ``` console
31
+ node server.js
32
+ ```
33
+
34
+ ## What Should Happen
35
+
36
+ 1 . The script should start the server and open ` http://localhost:8080/ ` in your default browser.
37
+ 2 . You should see the text on the page itself change to read ` Success! Reload the page after 5 seconds. ` .
38
+ 3 . After 5 seconds, the script will stop the server. Confirm by reloading the browser page after 5 seconds.
39
+ 4 . You should see ` Server stopped. ` in your terminal output.
Original file line number Diff line number Diff line change
1
+ "use strict" ;
2
+
3
+ const target = document . querySelector ( "#target" ) ;
4
+
5
+ target . classList . add ( "pass" ) ;
6
+ target . innerHTML = "Success! Reload the page after 5 seconds." ;
Original file line number Diff line number Diff line change
1
+ "use strict" ;
2
+
3
+ const Webpack = require ( "webpack" ) ;
4
+ const WebpackDevServer = require ( "../../../lib/Server" ) ;
5
+ const webpackConfig = require ( "./webpack.config" ) ;
6
+
7
+ const compiler = Webpack ( webpackConfig ) ;
8
+ const devServerOptions = { ...webpackConfig . devServer , open : true } ;
9
+ const server = new WebpackDevServer ( devServerOptions , compiler ) ;
10
+
11
+ server . startCallback ( ( ) => {
12
+ console . log ( "Successfully started server on http://localhost:8080" ) ;
13
+ } ) ;
14
+
15
+ const stopServer = ( ) =>
16
+ server . stopCallback ( ( ) => {
17
+ console . log ( "Server stopped." ) ;
18
+ } ) ;
19
+
20
+ setTimeout ( stopServer , 5000 ) ;
Original file line number Diff line number Diff line change
1
+ "use strict" ;
2
+
3
+ // our setup function adds behind-the-scenes bits to the config that all of our
4
+ // examples need
5
+ const { setup } = require ( "../../util" ) ;
6
+
7
+ module . exports = setup ( {
8
+ context : __dirname ,
9
+ entry : "./app.js" ,
10
+ output : {
11
+ filename : "bundle.js" ,
12
+ } ,
13
+ stats : {
14
+ colors : true ,
15
+ } ,
16
+ } ) ;
You can’t perform that action at this time.
0 commit comments