阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      create-react-app 添加一个样式表

      添加一个样式表

      此项目设置使用 Webpack 处理所有资源。

      Webpack 提供了一种自定义方式,可以将导入概念 “扩展” 到 JavaScript 之外。

      要表明 JavaScript 文件依赖于某个 CSS 文件,你需要 在 JavaScript 文件中导入 CSS:

      Button.css

      .Button {
        padding: 20px;
      }
      

      Button.js

      import React, { Component } from 'react';
      import './Button.css'; // 告诉 Webpack Button.js 使用这些样式
      
      class Button extends Component {
        render() {
          // 你可以将它们用作常规 CSS 样式
          return <div className="Button" />;
        }
      }
      

      对于 React 来说,这不是所必需的,但很多人发现这个功能很方便。

      你可以在 https://medium.com/seek-blog/block-element-modifying-your-javascript-components-d7f99fcab52b 了解这种方法的好处。

      但是你应该意识到,这使得你的代码很难以移植到除 Webpack 之外的其他构建工具和环境中。

      优点

      动态加载

      在开发过程中,通过这种方式表达依赖关系,可以在编辑样式时会动态重新加载样式。

      在生产中,所有 CSS 文件将连接到构建输出中的单独压缩的 .css 文件中,这样会达到动态载入的效果。

      如果你担心使用特定于 Webpack 的语义,可以将所有 CSS 放入 src/index.css 中。这样只会产生一个CSS文件。

      他会从 src/index.js 导入,但是如果以后迁移到其他构建工具,可以随时删除这个导入。

      方便维护

      组件中引用,这样使用组件就会自动加载对应的信息。

      如果不需要该组件,则这个组件用到的所有css等都不会被使用。

      动态加载和一次加载

      如果是使用动态加载,单次文件加载的文件小,但是HTTP链接的时间也需要考虑。

      如果一个模块里过多的引用CSS,这样节省的加载文件的时间被多次HTTP链接的时间给拖累(虽然单个CSS文件小,但是多次发请求去加载的时间会很久)。

      如果是CSS文件不大,将所有CSS 放入 src/index.css 中也是一个不错的方法。

      目录
      目录