首页 > 解决方案 > TypeError: compiler.getInfrastructureLogger 不是 CLIPlugin.apply 的函数

问题描述

我很难为我的 react-typescript 项目设置 webpack-babel 配置。

当我尝试使用该命令进行构建时,rm -rf ./dist && webpack --mode production它会引发如下错误:

[webpack-cli] TypeError: compiler.getInfrastructureLogger is not a function
    at CLIPlugin.apply (/Users/VIU/Projects/prueba-axpe-consulting-2/my-app/node_modules/webpack-cli/lib/plugins/CLIPlugin.js:116:32)
    at WebpackCLI.webpack (/Users/VIU/Projects/prueba-axpe-consulting-2/my-app/node_modules/webpack/lib/webpack.js:37:12)
    at WebpackCLI.createCompiler (/Users/VIU/Projects/prueba-axpe-consulting-2/my-app/node_modules/webpack-cli/lib/webpack-cli.js:2053:29)
    at async WebpackCLI.buildCommand (/Users/VIU/Projects/prueba-axpe-consulting-2/my-app/node_modules/webpack-cli/lib/webpack-cli.js:2173:20)
    at async Command.<anonymous> (/Users/VIU/Projects/prueba-axpe-consulting-2/my-app/node_modules/webpack-cli/lib/webpack-cli.js:850:25)
    at async Promise.all (index 1)
    at async Command.<anonymous> (/Users/VIU/Projects/prueba-axpe-consulting-2/my-app/node_modules/webpack-cli/lib/webpack-cli.js:1495:13)

我的webpack.config.js

const path = require('path');

module.exports = {
    entry: './src/index.tsx',
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'bundle.js',
        chunkFilename: '[id].js',
        publicPath: ''
    }
};

版本:

"devDependencies": {
    "@babel/core": "^7.14.5",
    "@babel/preset-env": "^7.14.5",
    "@babel/preset-react": "^7.14.5",
    "@babel/preset-typescript": "^7.14.5",
    "babel-loader": "8.0.4",
    "source-map-loader": "^3.0.0",
    "webpack": "4.19.1",
    "webpack-cli": "^4.7.2"
  }

我正在使用yarn. 有人可以告诉我我做错了什么吗?

标签: webpack

解决方案


它通过将 Webpack Dev Server 重新安装到版本 @2.5.1 来工作

 yarn add webpack-dev-server@2.5.1

推荐阅读