[webpack-cli] Invalid options object错误-webpack-dev-server在项目根目录的终端启动报错Invalid options object

本文主要介绍了在使用webpack-cli版本4.10.0时遇到的两个错误。第一个错误是由于contentBase配置不再支持导致,解决方法是修改webpack配置。第二个错误是webpack 4.0要求指定运行模式,未设置模式导致浏览器页面报错,解决办法是在命令行中添加--mode development或--mode production来明确模式。

webpack-cli版本: 4.10.0

// win+r打开命令行查看webpack版本
webpack -v

1. 报错1如下:

[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 'contentBase'. 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? }

报错原因:新版本的webpack配置文件webpack.config.json格式调整了,不支持contentBase

解决办法:

// webpack.config.js文件中
devServer: {
    // 服务器打开目录
    contentBase: path.join(__dirname, 'dist'),
    // 压缩
    compress: true,
    // 端口
    port: 8080,
    // 自更新
    hot: true,
    // 自动打开浏览器
    open: true
}

改为

  devServer: {
    // 服务器打开目录
    // contentBase: path.join(__dirname, 'dist'),
    static: {
      directory: path.join(__dirname, 'dist'),
    },
    // 压缩
    compress: true,
    // 端口
    port: 8080,
    // 自更新
    hot: true,
    // 自动打开浏览器
    open: true
  },

2. 报错2如下:浏览器页面报错

在这里插入图片描述

Compiled with problems:X

WARNING

configuration
The 'mode' option has not been set, webpack will fallback to 'production' for this value.

报错原因:webpack4.0对语法要求更严格,要求在运行 webpack 时必须在 “开发或生产” 中选择一种模式,没有设置webpack模式,就会产生报错。
--mode development [开发环境]
--mode production [生产环境]

解决办法:

  // package.json文件中的“scripts”:{}中添加两行代码
  "scripts": {
    "dev": "webpack --mode development", 
    "build": "webpack --mode production"
  },
// webpack.config.js中的module.exports = {} 中添加模式
module.exports = {     
	devServer: {此处代码块省略},
    mode: 'development' // 设置mode
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值