React应用中使用Bootstrap的方法
发布时间 - 2026-01-11 02:47:41 点击率:次前言

本节我们将把bootstrap,font-awesome应用到app中,同时创建一个基本的主页。主要将用到以下包:
- bootstrap-loader及配合工作的一系列loader:bootstrap-sass(bootstrap3) css-loader node-sass sass-loader style-loader url-loader.具体使用见官方文档
- postcss-loader autoprefixer:自动添加-webkit-box等前缀
- react-bootstrap:在react使用bootstrap组件
bootstrap-loader配置
在webpack的entry入口处添加bootstrap的引用
entry: [
'bootstrap-loader',
path.resolve(projectRootPath,'src/app.js')
]
然后在应用目录下添加.bootstraprc配置文件,对要用到的组件进行选择,怎么配置在官方文档中有非常详细的配置说明及模板。可以直接使用。
然后在webpack的配置文件module.loaders中添加css,woff2,tff等文件的加载功能
loaders:[
{
test:/\.js$/,
exclude:/node_modules/,
loader:'babel-loader',
query:{
presets:['es2015','react','stage-0'],
plugins:['transform-decorators-legacy']
}
},
{test:/\.css$/,loader:'style!css'},
{ test: /\.scss$/,
loader: 'style!css?modules&importLoaders=2&sourceMap&localIdentName=[local]___[hash:base64:5]!postcss-loader!sass?outputStyle=expanded&sourceMap'
},
{
test: /\.woff2?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
loader: "url?limit=10000"
},
{
test: /\.(ttf|eot|svg)(\?[\s\S]+)?$/,
loader: 'file'
}
]loaders:[
{
test:/\.js$/,
exclude:/node_modules/,
loader:'babel-loader',
query:{
presets:['es2015','react','stage-0'],
plugins:['transform-decorators-legacy']
}
},
{test:/\.css$/,loader:'style!css'},
{ test: /\.scss$/,
loader: 'style!css?modules&importLoaders=2&sourceMap&localIdentName=[local]___[hash:base64:5]!postcss-loader!sass?outputStyle=expanded&sourceMap'
},
{
test: /\.woff2?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
loader: "url?limit=10000"
},
{
test: /\.(ttf|eot|svg)(\?[\s\S]+)?$/,
loader: 'file'
}
]
最后可以在.bootstraprc中做些css样式的配置,以替换原来的css,这里简单介绍几个:
首先,在src中新建目录theme用于存放所有与css相关的文件
preBootstrapCustomizations
定义一些能变量,可以在app直接使用
preBootstrapCustomizations: ./src/theme/variables.scss
src/theme/variables.scss主要是定义了一些与颜色相关的变量
// 自己定义颜色 $cyan: #33e0ff; $humility: #777; // Bootstrap 变量 $brand-primary: darken(#428bca, 6.5%); $brand-secondary: #e25139; $brand-success: #5cb85c; $brand-warning: #f0ad4e; $brand-danger: #d9534f; $brand-info: #5bc0de; $text-color: #333; $font-size-base: 14px; $font-family-sans-serif: "Helvetica Neue", Helvetica, sans-serif;
bootstrapCustomizations
自定义样式,在preBootstrapCustomizations加载后,所有可以在其中使用preBootstrapCustomizations定义的变量
appStyles
bootstrap加载后,最后加载里面的样式,这里可以重写一些bootstrap样式
appStyles: ./src/theme/bootstrap.overrides.scss
src/theme/bootstrap.overrides.scss重新定义了一些样式
.navbar-brand {
position: relative;
padding-left: 50px;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
color: #33e0ff;
background-color: transparent;
}
应用
打开我们的scr/containers/App/App.js现在添加一个bootstrap样式的导航条吧
这里我们添加了两个文件App.scss(App目录中)样式,图片logo.png(Home目录中),代码我就不贴了,CSS不是我们目的,可以自己在源码中看,非常简单
import React,{Component, PropTypes} from 'react'
import {IndexLink} from 'react-router' //主页路由
import { Navbar, Nav, NavItem } from 'react-bootstrap'; // 导航组件
export default class App extends Component {
render(){
const styles = require('./App.scss') //scss的样式
return(
<div className={styles.app}>
<Navbar fixedTop>
<Navbar.Header>
<Navbar.Brand> //注意这里,就用了我们重写的navbar-brand
<IndexLink to="/" activeStyle={{color: '#33e0ff'}}>
<div className={styles.brand}/>
<span>React Redux Example</span>
</IndexLink>
</Navbar.Brand>
<Navbar.Toggle/>
</Navbar.Header>
</Navbar>
<div className={styles.appContent}>{this.props.children}</div>
<div>App footer</div>
</div>
)
}
}
最终效果如图
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# React
# 使用Bootstrap
# Bootstrap
# 详解react使用react-bootstrap当轮子造车
# 加载
# 重写
# 配置文件
# 几个
# 文档
# 就不
# 中有
# 目录中
# 用了
# 要用
# 可以直接
# 自定义
# 如图
# 做些
# 创建一个
# 将把
# 贴了
# 大家多多
# 本节
# 主要是
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
百度浏览器如何管理插件 百度浏览器插件管理方法
Windows Hello人脸识别突然无法使用
C#如何调用原生C++ COM对象详解
如何用搬瓦工VPS快速搭建个人网站?
node.js报错:Cannot find module 'ejs'的解决办法
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
Laravel如何使用查询构建器?(Query Builder高级用法)
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
七夕网站制作视频,七夕大促活动怎么报名?
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
Laravel安装步骤详细教程_Laravel环境搭建指南
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程
音乐网站服务器如何优化API响应速度?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
Laravel如何处理表单验证?(Requests代码示例)
如何获取免费开源的自助建站系统源码?
Python文件异常处理策略_健壮性说明【指导】
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
如何在景安服务器上快速搭建个人网站?
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
SQL查询语句优化的实用方法总结
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
java ZXing生成二维码及条码实例分享
如何快速选择适合个人网站的云服务器配置?
Laravel Docker环境搭建教程_Laravel Sail使用指南
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
javascript基本数据类型及类型检测常用方法小结
简单实现Android验证码
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
如何快速生成高效建站系统源代码?
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
如何快速搭建虚拟主机网站?新手必看指南
如何用虚拟主机快速搭建网站?详细步骤解析
无锡营销型网站制作公司,无锡网选车牌流程?
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
JS弹性运动实现方法分析
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
*服务器网站为何频现安全漏洞?
网站建设保证美观性,需要考虑的几点问题!
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)

