Bootstrap 在 create-react-app 中不起作用
Posted
技术标签:
【中文标题】Bootstrap 在 create-react-app 中不起作用【英文标题】:Bootstrap is not working in create-react-app 【发布时间】:2018-12-21 17:19:49 【问题描述】:我正在尝试使用此导航栏,而似乎课程不起作用: 我完成了文档中描述的所有步骤。 我已经在 index.js 中导入了它:
import '../node_modules/bootstrap/dist/css/bootstrap.min.css';
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import registerServiceWorker from './registerServiceWorker';
ReactDOM.render(<App />, document.getElementById('root'));
registerServiceWorker();
然后我尝试用它的类来实现导航栏,但看起来很丑,根本不工作。:
<nav className="navbar navbar-expand-lg navbar-dark navbar-custom fixed-top">
<div className="container">
<a className="navbar-brand" href="#">Start Bootstrap</a>
<button className="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
<span className="navbar-toggler-icon"></span>
</button>
<div className="collapse navbar-collapse" id="navbarResponsive">
<ul className="navbar-nav ml-auto">
<li className="nav-item">
<Link to="/">Home<span classNameName="sr-only">(current)</span></Link>
</li>
<li classNameNameName="nav-item">
<Link to="/signin">Sign In</Link>
</li>
<li classNameNameName="nav-item">
<Link to="/signup">Sign Up</Link>
</li>
</ul>
</div>
</div>
</nav>
正如您在图像中看到的那样,它应该不是真正的导航栏。还有一点是,在生成这个应用程序之后,根本就没有 index.html 文件。所以我导入 bootstrap 的唯一地方是 index.js 如何解决此问题以使 nav bare 与 bootstrap 一起正常工作?
【问题讨论】:
请注意,本机引导程序使用 jquery,而 jquery 和 react 在dom
操作方面不能很好地协同工作。你可以试试React-Bootstrap 或Reactstrap
我应该使用 3rt 库和物化 css 吗?由于这应该是一个非常大的项目,我们不想添加太多的库。
这是不利的一面。我读过反馈说是的库增加了整个代码的权重。关于具体化 css,这取决于要求和偏好,但我上次使用 Reactstrap 时使用的是 Bootstrap 4,您已经可以使用 sass
或 scss
修改/创建自己的 css 类以在全局范围内使用它。回到您的问题,我认为导航栏效果不佳,因为缺少 jquery 并且引导程序也依赖它进行定位。
【参考方案1】:
安装 bootstrap npm 并安装 react-dom 如果没有安装。命令在这里
npm install --save react react-dom
npm install --save react-bootstrap
现在在 your_project_name->public>index.html 中添加 css 文件
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
导入您在组件中需要的引导模块,例如在下面
import Button,Navbar,Nav,NavItem,NavDropdown,MenuItem from 'react-bootstrap';
如果您需要视频教程,请点击链接 react-js bootstrap video tutorial
【讨论】:
【参考方案2】:由于您已经在应用模块中安装了引导程序包,因此无需在此处提供相对路径。你可以在下面导入它..
index.js
import 'bootstrap/dist/css/bootstrap.min.css';
或
您可以在 index.css 文件中导入引导文件,即
index.css
import '../node_modules/bootstrap/dist/css/bootstrap.min.css';
或
import '~node_modules/bootstrap/dist/css/bootstrap.min.css';
现在您正在添加一个 css 文件,因此请确保您已在 webpack 配置中配置了 css 加载器。
【讨论】:
我也在尝试这个 css 文件运行良好,但是 bootstrap js not.so nav bar 不能工作这样的折叠或下拉...以上是关于Bootstrap 在 create-react-app 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
反应打字稿测试TypeError:MutationObserver不是构造函数