1 | const Server = require('webpack-dev-server')
|
2 |
|
3 | module.exports = function (compiler, options) {
|
4 | const hot = options.hotReload !== false && options.mode === 'development'
|
5 |
|
6 | const devServerOptions = Object.assign({
|
7 | hot,
|
8 | quiet: true,
|
9 | historyApiFallback: true,
|
10 | overlay: true,
|
11 | noInfo: true,
|
12 | disableHostCheck: true,
|
13 | publicPath: compiler.options.output.publicPath
|
14 | }, compiler.options.devServer, options.devServer)
|
15 |
|
16 | if (typeof devServerOptions.proxy === 'string') {
|
17 | devServerOptions.proxy = {
|
18 | '/api': {
|
19 | target: devServerOptions.proxy,
|
20 | changeOrigin: true,
|
21 | pathRewrite: {
|
22 | '^/api': ''
|
23 | }
|
24 | }
|
25 | }
|
26 | }
|
27 |
|
28 | const server = new Server(compiler, devServerOptions)
|
29 | const host = options.host
|
30 | const port = options.port
|
31 |
|
32 | return {
|
33 | server,
|
34 | host,
|
35 | port
|
36 | }
|
37 | }
|