reactjs - TS2307 : Cannot find module 'react-bootstrap'

标签 reactjs typescript webpack react-bootstrap

我有一个新的带有 webpack 的 React 项目,我正在尝试向它添加“react-bootstrap”并呈现一个警报作为测试。

所以我已经完成了:

npm install react-bootstrap --save

并已验证文件在那里。在我的主要 tsx 文件中,我有:

import { Alert } from 'react-bootstrap';
...
<Alert variant='success'>Success Alert</Alert>

当我运行 npm start 来启动我的服务器时,它会呈现带有成功警报的页面,但它会出现带有以下错误的 webpack 错误提示:

[tsl] ERROR in ....\src\client-react\components\Header.tsx(9,23)
      TS2307: Cannot find module 'react-bootstrap'.

即使警报在下方正确显示(并且如果我破解 css 以显示:在错误启动时没有显示,它在下方看起来绝对没问题?

认为这是因为 react-bootstrap 包没有任何@types(@types/react-bootstrap 是针对旧版本的,因为他们显然已经将类型滚动到主包)但我不确定如何修复。

谢谢!

最佳答案

我正在查看 react-bootstrap 中提供的示例使用 typescript 。这里的方法是在 index.tsx 中导入包为:

import "bootstrap/dist/css/bootstrap.min.css";

我希望你有 react-app-env.d.ts 文件来引用 react-scripts 类型,如果没有创建并添加它会自动生成

/// <reference types="react-scripts" />

所以在您的 Hello.tsx 中, 您可以将 Alertreact-bootstrap 导入为:

import Alert from 'react-bootstrap/Alert';

关于reactjs - TS2307 : Cannot find module 'react-bootstrap' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57925267/

相关文章:

webpack - 无法解析 styleName

javascript - 页面加载后在 React 中加载第三方 iframe,使 iframe 不影响 PageSpeed 得分

javascript - 如果我在异步函数中用作引用,Angular2/Ionic2/TypeScript "two way"绑定(bind)不会更新

angular - 如何在 Angular 6 中绑定(bind)来自 HttpClient 的数据?

reactjs - 带有 typescript 的react-leaflet GeoJSON 不渲染geojson 点

javascript - 当与 Webpack 捆绑在一起时,任何 Node.js HTTP 请求模块都可以在服务器和浏览器中工作?

javascript - 将react-router链接包装在html按钮中作为提交选项

reactjs - 如何在不丢失流类型信息的情况下继承自定义 React 组件?

reactjs - 如何配置 jest jsdom 环境?

javascript - 隐藏仅适用于 ios 平板电脑的下载按钮纵向和横向模式