在 REACT 上安装 webpack 时出错:配置对象无效。 Webpack 已使用配置对象初始化

Posted

技术标签:

【中文标题】在 REACT 上安装 webpack 时出错:配置对象无效。 Webpack 已使用配置对象初始化【英文标题】:Error in installing webpack on REACT: Invalid configuration object. Webpack has been initialised using a configuration object that 【发布时间】:2021-01-10 01:46:08 【问题描述】:

配置对象无效。 Webpack 已使用与 API 架构不匹配的配置对象进行初始化。

configuration.module 有一个未知属性“loaders”。这些属性是有效的: object defaultRules?, exprContextCritical?, exprContextRecursive?, exprContextRegExp?, exprContextRequest?, noParse?, rules?, strictExportPresence?, strictThisContextOnImports?, unknownContextCritical?, unknownContextRecursive?, unknownContextRegExp?, unknownContextRequest?, unsafeCache?, WrappedContextCritical?, WrappedContextRecursive?, WrappedContextRegExp? -> 影响正常模块的选项 (NormalModuleFactory)。

configuration.output.path:提供的值“dist/assets”不是绝对路径! -> 输出目录为绝对路径(必需)。


在 React 教程课程中(“使用 webpack 构建”) (我用的是windows,但当然是在linux上)

my webpack.config.js

var webpack = require("webpack");
module.exports = 
    entry: "./src/index.js",
    output: 
        path: "dist/assets",
        filename: "bundle.js",
        publicPath: "assets"
    ,
    devServer: 
        inline: true,
        contentBase: './dist',
        port: 3000
    ,
    module: 
        loaders: [
            
                test: /\.js$/,
                exclude: /(node_modules)/,
                loader: ["babel-loader"],
                query: 
                    presets: ["latest", "react", "stage-0"]
                
            
        ]
    

project directories

my index.js

const  createElement  = React
const  render  = ReactDOM

const style = 
    backgroundColor: 'orange',
    color:'white',
    fontFamily: 'verdana'


const title = createElement(
    'h1',
    id:'title', className:'header', style: style,
    'hello world'
)

render(
    <h1 id='title'
        className='header'
        style=backgroundColor:'orange'>
    hello world
    </h1>,
    document.getElementById('react-container')
)

my cmd with command "webpack" to convert index.js to bundle.js

tutorial's terminal that run webpack successfully!!

【问题讨论】:

这是一个编码站点,我们希望看到代码,而不仅仅是它输出的错误消息。请edit your question提供,(格式正确) @Compo 好的,谢谢 ;) 【参考方案1】:

这里有几个问题:

    您使用的密钥无效,loaders。应该是rules。 这从 Webpack v2 开始发生了变化。有关详细信息,请参阅此页面:https://webpack.js.org/migrate/3/#module-loaders-is-now-module-rules

    query 已被弃用,取而代之的是 options:https://webpack.js.org/configuration/module/#ruleoptions--rulequery

    loader 键的值不应是数组。

module: 
  rules: [
    
      test: /\.js$/,
      exclude: /(node_modules)/,
      loader: "babel-loader",
      options: 
        presets: ["latest", "react", "stage-0"]
      
    
  ]

【讨论】:

谢谢一百万。是的,它修复了上述错误,但它产生了其他几个错误;) 1-> 输出目录为 absolute path (required) Answer-> 将输出更改为 ( __dirname+"/dist/assets") 2-> 错误:选项/查询不能与 .. "babel-loader"] (loader: "babel-loader") 3-> npm install --save-dev babel-loader@7 4-> 最后webpack --mode development 完成了!!我们应该把代码作为最终答案吗?或者不需要。感谢您的帮助,它非常有用 @Mostafaghafari 我已经用更多信息更新了我的答案:)

以上是关于在 REACT 上安装 webpack 时出错:配置对象无效。 Webpack 已使用配置对象初始化的主要内容,如果未能解决你的问题,请参考以下文章

使用通过 react、redux 和 react-redux 完成的组件以及在 react 应用程序中使用 webpack 构建时出错

使用 Webpack 4.5 + Babel 6 + React 16 导入 JSON 时出错

使用 Webpack 4 和 react js 在 scss 中导入字体或图像文件时出错

React + Webpack 不解析文件加载器

运行下一个 js 时出错 - TypeError: (0 , react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV) is not a f

更新后出错:无法解析模块“react/lib/ReactMount”