使用 Webpack 4 在 React 项目中添加 css 个文件
Addng css files in React project with Webpack 4
我正在使用 Webpack 从头开始构建一个简单的 React 应用程序。
我终于能够 运行 开发服务器,当我尝试通过 CSS 应用一些样式时,文件无法加载,我认为我的 Webpack 4 配置不正确。
代码如下:
webpack.config.js
// const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const path = require('path');
module.exports = {
mode: 'development',
entry: ['./src/index.js'],
resolve: {
extensions: [".js", ".jsx"]
},
output: {
filename: 'main.js',
path: path.resolve(__dirname, 'dist'),
publicPath: '/dist',
},
devServer: {
contentBase: path.join(__dirname, 'dist'),
compress: true,
port: 8080
},
module: {
rules: [
{
test: /\.js|.jsx$/,
exclude: /node_modules/,
loader: "babel-loader",
options: {
presets: ["react"]
}
},
{
test: /\.css$/,
use: ["style-loader", "css-loader"]
},
{
test: /\.(png|jpg)$/,
loader: 'url-loader'
}
]
},
};
我的项目结构是这样的,我将只包含 src 因为它位于根目录中:
**src**
|_assets
|_componentns
|_styles
|_App.css
|_index.css
App.jsx
index.js
index.html
我希望能够为我拥有的每个组件添加多个 css 文件并应用它们,并且能够为索引设置样式 index.html。
非常感谢您的帮助。
您的 webpack
配置看起来不错。
确保 import
所需的 css
文件在 components
.
import "./App.css";
class App extends Component {
render() {
return (
<div>
<Child />
</div>
);
}
}
您所要做的就是在需要时导入 CSS 文件,就像导入 JavaScript 模块一样。所以如果你想为你的整个应用程序使用一个样式sheet,你可以在你的index.js
.
中导入一个全局样式sheet
import './styles/index.css';
您可以对具有特定样式的每个组件执行相同的操作
import './styles/App.css'
在这种情况下,您可能希望 setup CSS modules 避免 class 名称重叠。
好吧,这里是新手错误,我设置 webpack 的方式是我必须先构建它,然后 运行 开发服务器,而不是相反。
以上所有答案都是有效且有帮助的,我只是忘记 运行 更改后构建。
我正在使用 Webpack 从头开始构建一个简单的 React 应用程序。 我终于能够 运行 开发服务器,当我尝试通过 CSS 应用一些样式时,文件无法加载,我认为我的 Webpack 4 配置不正确。
代码如下:
webpack.config.js
// const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const path = require('path');
module.exports = {
mode: 'development',
entry: ['./src/index.js'],
resolve: {
extensions: [".js", ".jsx"]
},
output: {
filename: 'main.js',
path: path.resolve(__dirname, 'dist'),
publicPath: '/dist',
},
devServer: {
contentBase: path.join(__dirname, 'dist'),
compress: true,
port: 8080
},
module: {
rules: [
{
test: /\.js|.jsx$/,
exclude: /node_modules/,
loader: "babel-loader",
options: {
presets: ["react"]
}
},
{
test: /\.css$/,
use: ["style-loader", "css-loader"]
},
{
test: /\.(png|jpg)$/,
loader: 'url-loader'
}
]
},
};
我的项目结构是这样的,我将只包含 src 因为它位于根目录中:
**src**
|_assets
|_componentns
|_styles
|_App.css
|_index.css
App.jsx
index.js
index.html
我希望能够为我拥有的每个组件添加多个 css 文件并应用它们,并且能够为索引设置样式 index.html。 非常感谢您的帮助。
您的 webpack
配置看起来不错。
确保 import
所需的 css
文件在 components
.
import "./App.css";
class App extends Component {
render() {
return (
<div>
<Child />
</div>
);
}
}
您所要做的就是在需要时导入 CSS 文件,就像导入 JavaScript 模块一样。所以如果你想为你的整个应用程序使用一个样式sheet,你可以在你的index.js
.
import './styles/index.css';
您可以对具有特定样式的每个组件执行相同的操作
import './styles/App.css'
在这种情况下,您可能希望 setup CSS modules 避免 class 名称重叠。
好吧,这里是新手错误,我设置 webpack 的方式是我必须先构建它,然后 运行 开发服务器,而不是相反。 以上所有答案都是有效且有帮助的,我只是忘记 运行 更改后构建。