我知道这个问题已经得到解答,是的,几个月前这对我也有用
但最近我开始了一个新项目,我想将一个 react 应用程序与 express 结合起来,我尝试使用相同的设置,但突然收到以下错误:
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?, server?, setupExitSignals?, setupMiddlewares?, static?, watchFiles?, webSocketServer? }
error Command failed with exit code 1.
由于这个 QA 帮助了我,所以我决定将我在这里找到的内容分享给任何将来阅读本文并遇到相同错误的人。
解决方案
webpack 配置“devserver”结构似乎有一些变化,你可以在这里找到:https://webpack.js.org/configuration/dev-server/
您不能再直接使用 writeToDisk 并且需要将其放在 devMiddleware 对象中,如下所示:
module.exports = {
devServer: {
devMiddleware: {
writeToDisk: true,
},
},
//...
}
我正在使用:craco: ^6.4.3
希望对遇到和我一样问题的人有所帮助