【问题标题】:React make bootstrap work through importingReact 通过导入使引导程序工作
【发布时间】:2020-01-04 03:41:52
【问题描述】:

我导入引导样式

import "bootstrap/scss/bootstrap.scss"

然后我创建一个简单的容器

<div className="container">
  <div className="row">
    <div  className="col-6">
       23423423
    </div>
    <div className="col-6">
      234234234
    </div>
  </div>
 </div>

Bootstrap 不会将样式应用于我的容器,感觉它实际上甚至没有被导入。 我在我的 node_modules 中看到引导程序,所以我确定它是 安装正确,控制台没有错误,什么都没有
如果我通过link 导入引导程序,那么它工作正常,为什么它不能与导入一起工作

这是我的依赖项:

  "devDependencies": {
"autoprefixer": "^9.6.1",
"css-loader": "^3.2.0",
"exports-loader": "^0.7.0",
"file-loader": "^4.2.0",
"postcss-loader": "^3.0.0",
"precss": "^4.0.0",
"sass-loader": "^8.0.0",
"source-map-loader": "^0.2.4",
"style-loader": "^1.0.0",
"typescript": "^3.6.2",
"webpack": "^4.39.3",
"webpack-cli": "^3.3.7",
"webpack-dev-server": "^3.8.0"
},
"dependencies": {
"bootstrap": "^4.3.1",
"jquery": "^3.4.1",
"less": "^3.10.3",
"mobx-react": "^6.1.3",
"popper.js": "^1.15.0",
"react": "^16.9.0",
"react-dom": "^16.9.0",
"sass": "^1.22.10"
}

我的网页包

rules: [
        {
            test: /\.scss$/,
            use: [
                {
                    loader: "style-loader"
                },
                {
                    loader: "css-loader",
                    options: {
                        modules: {
                            localIdentName: "[name]__[local]___[hash:base64:5]"
                        }
                    }
                },
                {
                    loader: "postcss-loader",
                    options: {
                        plugins: () => {
                            return [
                                require('autoprefixer')
                            ];
                        }
                    }
                },
                {
                    loader: "sass-loader"
                }
            ]
        }
    ]

编辑:在我导入 bootstrap.scss 后,它会将引导字体添加到正文中,如果已导入并且可以正常工作,那么为什么容器和列的样式不起作用

【问题讨论】:

    标签: reactjs twitter-bootstrap webpack sass


    【解决方案1】:

    基于https://github.com/webpack-contrib/sass-loader,您可能错过了以下内容:npm i -D node-sass

    • 检查构建后是否有控制台错误
    • 检查是否可以使用 Chrome 从 dom 中找到对 bootstrap.scss 的 css 样式引用

    【讨论】:

    • 我添加了 node-sass,但它无论如何都不起作用,我可以在控制台中找到对引导样式的引用,引导设置我自定义字体、填充等,但它不适用于列,容器等
    • 您可能需要仔细检查样式的来源,就好像您在组件中导入了引导程序一样,它可能是从那里继承的。如果不是这种情况,那么我建议从 cdn 手动导入网格样式,看看它是否有效。
    • 我发现问题出在哪里,它是在我将 localIdentName 添加到我的 css-loader 之后发生的,如果我删除这个引导程序工作正常。仍然不明白如何解决这个问题
    猜你喜欢
    • 2015-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-04
    • 2020-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多