【发布时间】:2018-08-19 03:38:27
【问题描述】:
这是我的 webpack.config.js 文件的模块部分
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
// loader: 'babel',
loader: 'babel-loader',
query: {
presets: ['es2015', 'react']
}
},
{
test: /\.css$/,
loader:'style-loader!css-loader'
}
]
}
我还安装了 css-loader 和 style-loader,这是 package.json 文件的样子 -
"devDependencies": {
"css-loader": "^0.28.10",
"style-loader": "^0.20.3"
}
这是我尝试实现 CSS 的反应组件 -
import React from "react";
import styles from "./Foodrecipe.css";
export default class Foodrecipe extends React.Component {
render() {
return (
<div className={styles.recipe}>
<h1>Healthy Main Dish Recipes</h1>
</div>
);
}
}
Foodrecipe.css 文件中的 CSS 食谱类非常简单,它只是 -
.recipe{
background-color: yellow;
color: blue;
}
但由于某种原因,CSS 更改并未反映在 UI 中。
我想指出的另一件事是,当我将属性 id 添加到 div 并将其命名为 recipeDiv,并在 CSS 中声明 id 的样式时 -
#recipeDiv {
background-color: yellow;
color: blue;
}
这些变化反映在 UI 中。所以我很确定 CSS 文件在这里被正确导入,但 className 属性似乎存在一些问题。那就是我所想的。任何人都可以在这里指导我。
【问题讨论】:
-
@T.J.Crowder 我是 React 新手,我正在尝试使用 React 和 Webpack 实现 CSS 模块。 CSS Modules 的优点之一是,它允许我们编写作用域 CSS。我们可以为一个组件编写 CSS 并确保它不会泄漏到其他组件中。
-
@T.J.Crowder 是的,我更新了我的问题标题。以便将来面对这个问题的人可以确切地知道这个问题的全部意义。
标签: javascript css reactjs webpack-dev-server webpack-style-loader