gpt4 book ai didi

javascript - webpack 中的 css 配置不检测类样式但检测元素样式

转载 作者:行者123 更新时间:2023-11-29 23:06:51 25 4
gpt4 key购买 nike

我正在使用 webpack 和 babel 进行 react 。我有如下的 webpack 配置。当我将 CSS 写入 div、ul、li 等元素时,它会在我的 App.js 中检测到,但是当我尝试编写基于类的 CSS 时,它不会在页面上检测到。

webpack.config.js

const path = require('path');
const ExtractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
entry: {
main: path.join(__dirname, '..', '/src/index.js'),
},
output: {
path: path.resolve(__dirname, '..', 'dist'),
filename: '[name].[hash].bundle.js',
publicPath: '/',
},
module: {
rules: [
{
test: /\.(eot|svg|ttf|woff|woff2)$/,
loader: 'file-loader?name=[name].[ext]',
},
{
test: /\.js$/,
use: ['babel-loader'],
exclude: /node_modules/,
},
{
test: /\.s?css$/,
exclude: /node_modules/,
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: [
{
loader: 'css-loader',
options: {
minimize: true,
modules: true,
importLoaders: true,
localIdentName: '[name]__[local]--[hash:base64:5].css',
sourcemaps: true,
},
},
{
loader: 'sass-loader',
options: {
sourcemaps: true,
},
},
],
}),
},
{
test: /\.s?css$/,
include: /node_modules/,
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: [
{
loader: 'css-loader',
options: {
minimize: true,
},
},
{
loader: 'sass-loader',
options: {
sourcemaps: true,
},
},
],
}),
},
],
},
resolve: {
extensions: ['.js', '.jsx'],
},
};

索引.css

.test {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-gap: 1em;
list-style: none;
padding: 12px;
}

应用程序.js

import React from 'react';
import '../index.css';


const App = () => (
<div>
<h1>Hello Adeva!!</h1>
<ul className="test">
<li>Romans</li>
<li>Corinthians</li>
<li>Thessalonians</li>
<li>Ephesians</li>
<li>Phillipians</li>
<li>Colossians</li>
</ul>
</div>
)

export default App;

我的react版本是16.8.1,webpack是4.29.3。请指导我,因为这个 webpack 配置问题让我很困惑。

最佳答案

您已通过在 css-loader 配置中添加 modules: true 将 webpack 配置为使用 css 模块。要使用 css 模块,您必须以 javascript 对象的形式访问样式,如下所示:

import React from 'react';
import styles from '../index.css';


const App = () => (
<div>
<h1>Hello Adeva!!</h1>
<ul className={styles.test}>
</div>
)

关于javascript - webpack 中的 css 配置不检测类样式但检测元素样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54593484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com