使用React-Bootstrap的Webpack,出现很多“模块未找到”错误。

3

我刚开始学习Webpack,但是我无法找到最佳的打包React-Bootstrap的方法。

我尝试将React-Bootstrap与React和React-Router一起打包。React和React-Router都按预期工作,但是React-Bootstrap却出现了错误。我研究了别名、使用供应商块以及像这样引用React-Bootstrap:

import ReactBootstrap from 'react-bootstrap/dist/react-bootstrap';

但那似乎很笨重。我正在寻找使用Webpack正确打包React-Bootstrap的方法。

错误信息:

ERROR in ./~/react-bootstrap/lib/utils/childrenValueInputValidation.js
Module not found: Error: Cannot resolve module 'react-prop-types/lib/singlePropFrom' in /Users/alex/Documents/lifter/node_modules/react-bootstrap/lib/utils
 @ ./~/react-bootstrap/lib/utils/childrenValueInputValidation.js 12:39-85

ERROR in ./~/react-bootstrap/lib/BootstrapMixin.js
Module not found: Error: Cannot resolve module 'react-prop-types/lib/keyOf' in /Users/alex/Documents/lifter/node_modules/react-bootstrap/lib
 @ ./~/react-bootstrap/lib/BootstrapMixin.js 15:30-67

ERROR in ./~/react-bootstrap/lib/ButtonGroup.js
Module not found: Error: Cannot resolve module 'react-prop-types/lib/all' in /Users/alex/Documents/lifter/node_modules/react-bootstrap/lib
 @ ./~/react-bootstrap/lib/ButtonGroup.js 21:28-63

ERROR in ./~/react-bootstrap/lib/Button.js
Module not found: Error: Cannot resolve module 'react-prop-types/lib/elementType' in /Users/alex/Documents/lifter/node_modules/react-bootstrap/lib
 @ ./~/react-bootstrap/lib/Button.js 21:36-79

ERROR in ./~/react-bootstrap/lib/Col.js
Module not found: Error: Cannot resolve module 'react-prop-types/lib/elementType' in /Users/alex/Documents/lifter/node_modules/react-bootstrap/lib
 @ ./~/react-bootstrap/lib/Col.js 23:36-79

ERROR in ./~/react-bootstrap/lib/Dropdown.js
Module not found: Error: Cannot resolve module 'react-prop-types/lib/all' in /Users/alex/Documents/lifter/node_modules/react-bootstrap/lib
 @ ./~/react-bootstrap/lib/Dropdown.js 61:28-63

ERROR in ./~/react-bootstrap/lib/Dropdown.js
Module not found: Error: Cannot resolve module 'react-prop-types/lib/elementType' in /Users/alex/Documents/lifter/node_modules/react-bootstrap/lib
 @ ./~/react-bootstrap/lib/Dropdown.js 65:36-79

ERROR in ./~/react-bootstrap/lib/Dropdown.js
Module not found: Error: Cannot resolve module 'react-prop-types/lib/isRequiredForA11y' in /Users/alex/Documents/lifter/node_modules/react-bootstrap/lib
 @ ./~/react-bootstrap/lib/Dropdown.js 69:42-91

ERROR in ./~/react-bootstrap/lib/Grid.js
Module not found: Error: Cannot resolve module 'react-prop-types/lib/elementType' in /Users/alex/Documents/lifter/node_modules/react-bootstrap/lib
 @ ./~/react-bootstrap/lib/Grid.js 17:36-79

ERROR in ./~/react-bootstrap/lib/Jumbotron.js
Module not found: Error: Cannot resolve module 'react-prop-types/lib/elementType' in /Users/alex/Documents/lifter/node_modules/react-bootstrap/lib
 @ ./~/react-bootstrap/lib/Jumbotron.js 17:36-79

ERROR in ./~/react-bootstrap/lib/MenuItem.js
Module not found: Error: Cannot resolve module 'react-prop-types/lib/all' in /Users/alex/Documents/lifter/node_modules/react-bootstrap/lib
 @ ./~/react-bootstrap/lib/MenuItem.js 19:28-63

有什么我没考虑到的吗?

编辑 我已经尝试过:

import { Something } from 'react-bootstrap';

它没有解决问题。

我还会添加我的webpack配置:

module.exports = {
    entry: './entry.jsx',
    output: {
        filename: 'bundle.js'
    },
    module: {
        loaders: [
            {
                test: /\.jsx?$/,
                exclude: /(node_modules|bower_components)/,
                loader: 'babel-loader'
            }
        ]
    },
    resolve: {
        extensions: ['', '.js', '.jsx']
    }
}

import { ComponentName } from 'react-bootstrap'; - zerkms
那其实是我尝试的第一件事。它没有改变输出。 - thisisnotabus
你是如何安装 react-bootstrap 的? - zerkms
2个回答

4

1
我可以用以下代码来修复它:

$ npm install --force

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接