bootstrap 没有添加 reactjs 的 scss bootstrap 类

bootstrap scss with reactjs not adding bootstrap classes

我已经安装 bootstrap 使用

npm install bootstrap@4.0.0-alpha.6 --save

在我的依赖项中我有:

 "dependencies": {
    "bootstrap": "^4.0.0-alpha.6",
    "react": "^15.6.1",
    "react-dom": "^15.6.1"
  }

在我的 styles.scss

@import '~bootstrap/scss/bootstrap';

这是我的 webpack 文件:

const HtmlWebpackPlugin = require('html-webpack-plugin');
const HtmlWebpackPluginConfig = new HtmlWebpackPlugin({
    template: './src/index.html',
    filename: 'index.html',
    inject: 'body'
})

module.exports = {
    entry: './src/index.js',
    output: {
        path: __dirname + '/dist',
        filename: 'build.js'
    },
    devServer: {
        historyApiFallback: true
    },
    module: {
        loaders: [
            { test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ },
            { test: /\.jsx?$/, loader: 'babel-loader', exclude: /node_modules/ },
            {
                test: /\.scss$/,
                use: [
                    'style-loader',
                    'css-loader?importLoaders=1&modules&localIdentName=[name]_[local]_[hash:base64:5]',
                    'sass-loader',
                ],
            }
        ]
    },
    plugins: [HtmlWebpackPluginConfig]
}

但是当我在 header 组件中添加 container class 时

import React from 'react';

export class Header extends React.Component {
    render() {
        return(
          <header className="container">header here</header>
        );
    }
}

export default Header;

看起来像这样:

并且在 build.js 中我找不到 .container class。 .row 还有等等

bootstrap.scss>>import grid 容器内看起来是这样的:

@if $enable-grid-classes {
  .container {
    @include make-container();
    @include make-container-max-widths();
  }
}

并且在_variables.scss里面bootstrap这个变量是真的

$enable-grid-classes:       true !default;

怎么了?

您必须在组件中导入 .scss 文件并在 html 中应用。喜欢:

import React from 'react';
import styles from './styles.scss'; // your .scss file

export class Header extends React.Component {
    render() {
        return(
          <header className={styles.container}>header here</header>
        );
    }
}

export default Header;