首页 > 解决方案 > 如何使用新的 Webpack devServer 配置?

问题描述

webpack devServer将我的项目包从更新为 后,当我"webpack-dev-server": "3.11.2"开始"webpack-dev-server": "4.3.0"我的项目时,我遇到了这个问题:

>> npm run start
> backoffice@1.0.0 start
> webpack serve --config webpack.dev.js

[webpack-cli] Invalid options object. Dev Server has been initialized using an options object that does not match the API schema.
 - options has an unknown property 'writeToDisk'. These properties are valid:
   object { allowedHosts?, bonjour?, client?, compress?, devMiddleware?, headers?, historyApiFallback?, host?, hot?, http2?, https?, ipc?, liveReload?, magicHtml?, onAfterSetupMiddleware?, onBeforeSetupMiddleware?, onListening?, open?, port?, proxy?, setupExitSignals?, static?, watchFiles?, webSocketServer? }

更改日志似乎没有更新,我只发现了几个新选项:更多信息在这里

如何将此“旧”配置文件转换为新配置文件?

如果可能的话,我在哪里可以找到新的配置选项?

webpack.dev.js:

const {merge} = require('webpack-merge');
const common = require('./webpack.common.js');
const path = require('path');
module.exports = merge(common, {
  mode: 'development',
  devtool: 'inline-source-map',
  devServer: {
    contentBase:  path.join(__dirname, './dist'),
    compress: true,
    watchContentBase: true,
    historyApiFallback: true,
    https: false,
    open: 'Firefox Developer Edition',
    stats: {
      colors: true,
    },
    port: 9002,
    proxy: {
      '/api': 'http://localhost:9000'
    },
    writeToDisk: true,
  },
});

感谢您的帮助

标签: javascriptwebpackwebpack-dev-servermern

解决方案


您只需使用不允许的字段。你的开发服务器应该这样写:

devServer: {
    static: {
      directory: path.join(__dirname, './dist')
    },
    compress: true,
    historyApiFallback: true,
    https: false,
    open: true,
    hot: true,
    port: 9002,
    proxy: {
      '/api': 'http://localhost:9000'
    }
    devMiddleware: {
      writeToDisk: true,
    },
  },
  
  // ps: you don't need 'static' for ./dist . DevServer is here to compile and hot reload the js code that is attached to the "root" node. The dist folder is supposed to contain your final build.
  // to use writeToDisk, you'll need to install webpack-dev-middleware
  // npm install webpack-dev-middleware --save-dev


推荐阅读