将 css 文件导入特定组件 react 应用程序

多纳塔·米莱凯特

我正在尝试将 css 导入到我的 React 应用程序的特定组件中。

网络包配置:

{
    test: /\.css$/,
    loader: ExtractTextPlugin.extract({
        use: 'css-loader',
    }),
}

但未应用 css。

我还在里面包含了主要的 css index.html这是我不能应用另一个 css 文件的原因吗?

<link rel="stylesheet" href="../style/style.css">

你能告诉我缺少什么吗?

马特·卡洛塔

这取决于webpack您使用版本。例如,如果您使用的是 Webpack 4,那么您的development配置将是:

{
  test: /\.s?css$/, // test for scss or css files 
  use: [
    'style-loader', // try to use style-loader or...
    {
      loader: 'css-loader', // try to use css-loader 
      options: {
        sourceMap: true, // allow source maps (allows css debugging)
        modules: true, // allow css module imports
        camelCase: true, // allow camel case imports
        localIdentName: '[local]___[hash:base64:5]', // set imported classNames with a original className and a hashed string in the DOM, for example: "exampleClassName__2fMQK"
      },
    },
  ],
}

example.css(必须使用驼峰式而不是蛇式)

.exampleClassName {
   text-align: center;
}

例子.js

import React from 'react';
import { exampleClassName } from './example.css';

export default () => (
  <h1 className={exampleClassName}>I am centered!</h1>
)

对于生产,您需要使用OptimizeCSSAssetsPluginMiniCssExtractPlugin

minimizer: [
  new OptimizeCSSAssetsPlugin({ 
    cssProcessorOptions: { 
      map: { 
        inline: false, 
        annotation: true 
      } 
    } 
  }),
],
{
  plugins: [
    new MiniCssExtractPlugin({
        filename: `css/[name].[contenthash:8].css`,
        chunkFilename: `[id].[contenthash:8].css`,
    }), 
  ]
}

当您运行webpack以构建用于生产的应用程序时,它将编译css并且(当 webpack 配置正确设置时)将生成一个index.html自动添加link到已编译样式表的 。

Webpack 是一个陡峭的学习曲线,上面的例子中缺少很多选项,所以如果你只是想让它启动并运行,那么我有一个Webpack-React-Boilerplate,它有 (s)css 模块导入和已经为您配置了更多。我在 webpack 配置文件中包含了注释,以帮助了解每个选项的作用。

否则,如果你想学习旧版本的 webpack,那么你可以弹出 create-react-app 和逆向工程/查看他们大量的 webpack 注释。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将MERN应用程序部署到Heroku后,缺少React组件

将HTML / CSS / JS主题应用于React应用程序的正确方法

将CSS样式应用于Angular 2应用程序中的所有组件

将样式CSS导入React JS应用

将CSS文件导入到头部的react应用中

导入CSS文件并在create-react-app应用程序中反应组件?

将PrimeReact主题与React应用程序中启用的CSS模块一起使用

无法将CSS文件导入React项目

将Express与React应用程序连接

如何将Skeleton.css添加到我的React应用程序?

使用钩子将状态提升到React应用程序的主要组件

在React应用程序中导入单个组件

使用使用JavaScript互操作导入的JavaScript库将React应用程序移植到Blazor应用程序

如何让Emotion / Rollup / Typescript组件CSS显示在使用的React应用程序中?

如何将React表单状态从应用程序传递到多个组件(功能)

ReactJS:将CSS导入一个文件会更改整个应用程序的样式

将CSS文件放在Grails应用程序中的哪里?

将本地 html/css/javascript 项目导入 UWP 应用程序 - 图像未显示

将图像导入 React 应用程序构建后的问题

将 typescript 模块导入 React 应用程序中的 JS 模块

如何将文件导入使用 create react app 作为原始文本的 react 应用程序?

如何将 react-modal 导入现有应用程序?

我如何修复 React 应用程序中 Angular Web 组件的 CSS 问题?

将 TypeScript 模块从本地模块导入 React 应用程序

如何将 Dropbox 组件添加到 React Native 应用程序?

使用正确的 CSS 样式将 VUE.JS 组件转换为 Web 应用程序

React.CSSProperties 在用于将 css 变量插入应用程序时显示解析错误

React 应用程序未呈现 CSS,我在 index.html 中添加了 CSS 文件

如何将音频导入我的 Create-React-App 应用程序?