Mik*_*kel 6 css twitter-bootstrap reactjs webpack css-modules
我想在我的 React 项目中使用 bootstrap 4。构建的 css 文件应该只包含我在 React 组件中包含的引导程序类的样式。
我不是在搜索 Bootstrap css 类作为 React 组件;我不介意写<div className='container'>
我尝试使用reactstrap,是的,将引导 css 类作为组件(例如<Container></Container>),但您必须包含所有引导样式:
在src/index.js:
import 'bootstrap/dist/css/bootstrap.css';
Run Code Online (Sandbox Code Playgroud)
因为我已经sass-loader尝试过直接导入 scss 文件:
import bootstrapGrid from 'bootstrap/scss/_grid.scss';
const myComponent = () => <div className={bootstrapGrid.container}>[...]</div>
Run Code Online (Sandbox Code Playgroud)
但它失败了,因为它没有足够的数据来编译:
什么是正确的方向?
或者我应该使用purifycss-webpack来清理我的应用程序?并删除未使用的 css 类。
您可以执行以下操作,其中应包含编译网格所需的所有模块:
import bootstrapGrid from 'bootstrap/scss/bootstrap-grid.scss';
Run Code Online (Sandbox Code Playgroud)
或者,首先包含变量以及编译网格所需的所有其他模块:
import bootstrapFunctions from 'bootstrap/scss/_functions';
import bootstrapVariables from 'bootstrap/scss/_variables';
import bootstrapMixinBreakpoints from 'bootstrap/scss/mixins/_breakpoints';
import bootstrapMixinGridFramework from 'bootstrap/scss/mixins/_grid-framework';
import bootstrapMixinGrid from 'bootstrap/scss/mixins/_grid';
import bootstrapGrid from 'bootstrap/scss/_grid.scss';
import bootstrapUtilitiesDisplay from 'bootstrap/scss/utilities/_display';
import bootstrapUtilitiesFlex from 'bootstrap/scss/utilities/_flex';
Run Code Online (Sandbox Code Playgroud)
您可以从 bootstrap-grid.scss 文件检查需要哪些模块@imports:
@import "functions";
@import "variables";
@import "mixins/breakpoints";
@import "mixins/grid-framework";
@import "mixins/grid";
@import "grid";
@import "utilities/display";
@import "utilities/flex";
Run Code Online (Sandbox Code Playgroud)