使用 webpack-dev-server 找不到模块 'webpack'

Cannot find module 'webpack' using webpack-dev-server

尝试使用 this 教程熟悉聊天应用程序。

一切看起来都很好,但是当我最后尝试运行 npm run watch 根据指示时,我得到了 npm 的错误,提到错误不是 npm。

watch 脚本是为 运行 以下脚本创建的:

webpack-dev-server --compress --history-api-fallback --progress --host 0.0.0.0 --port 3005

当我尝试使用 npx 运行 这一行时,出现以下错误:

Cannot find module 'webpack'
Require stack:
- /home/user/.npm/_npx/47997/lib/node_modules/webpack-dev-server/bin/webpack-dev-server.js

这是我的 webpack.config.js:

module.exports = {
  devtool: 'source-map',
  entry: './src/index.tsx',
  output: {
    filename: './build/client.js',
  },
  resolve: {
    extensions: ['.webpack.js', '.web.js', '.ts', '.tsx', '.js']
  },

  module: {
    loaders: [{ test: /\.tsx?$/, loader: 'ts-loader' }]
  }
};


我已经尝试安装 webpackwebpack-cli 几次,但都没有更正错误。试图删除 node_modulespackage-lock.json 然后重新安装模块,也没有任何反应。有什么建议吗?

添加package.json:

{
  "name": "rcweb",
  "version": "1.0.0",
  "description": "rcweb",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "watch": "webpack-dev-server --compress --history-api-fallback --progress --host 0.0.0.0 --port 3005"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@types/react": "^17.0.3",
    "@types/react-redux": "^7.1.16",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "react-redux": "^7.2.2",
    "redux": "^4.0.5",
    "ts-loader": "^8.0.17",
    "typescript": "^4.2.3",
    "webpack": "^5.24.4",
    "webpack-cli": "^4.5.0",
    "webpack-dev": "^1.1.1"
  }
}

好的,根据 Package.json 我认为缺少安装 webpack-dev-server。

完成后,错误发生了变化:

Cannot find module 'webpack-cli/bin/config-yargs'

阅读了一下,有些主题提到了版本,但我相信所有的 webpack 组件都是最新的:

webpack 5.24.4
webpack-cli 4.5.0
webpack-dev-server 3.11.2

还有这个问题要解决...

您需要安装 webpack-dev-server 而不是 webpack-dev。更新您的 package.json,然后重新删除您的 node_modulesnpm install 一切。

此外,我不确定将 React 和相关组件用作 devDependencies 是个好主意,因为它们在运行时使用,但这取决于您的包构建和配置。