javascript - ES6 捆绑 CSS 的方式?

标签 javascript css import ecmascript-6

我正在学习使用老式 require 语法的 React 教程,并尝试将其更新为 ES6 中更现代的 import 语法。

教程建议我们用以下几行开始 JS 文件

var React = require("react"); var ReactDOM = require("react-dom"); require("./index.css");

我发现前两行应该改为

从“react”导入React; 从“react-dom”导入ReactDOM;

但我被困在第三行了。需要 CSS 文件的导入版本是什么?

(通常我只会在 HTML 文件中链接 CSS - 我认为他们让我们将其包含在 JS 中的原因是这样它会被缩小并捆绑?还有其他原因吗?)

最佳答案

您可以像其他任何东西一样导入 css!

导入“/index.css”;


I assume the reason they're having us include it in the JS is so it will get minified and bundled?

你说得对!在模块中导入 CSS 允许 Webpack 等工具正确搜索依赖关系树并包含您的 CSS 文件。

为 CSS 导入指定模块名称还可以实现一些简洁的功能。

例如,如果您为导入分配一个模块名称,如下所示,

import stylesheet from './index.css';

您现在可以将样式表中的类选择器视为模块名称的属性,这样可以轻松地将样式分配给组件的 DOM。

例如,您现在可以执行以下操作:

import stylesheet from './index.css';

class ExampleComponent extends React.Component {
  ...
  render() {
    return (
      <div className={stylesheet.myClassSelectorName}></div>
    )
  }
}

关于javascript - ES6 捆绑 CSS 的方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49827887/

相关文章:

javascript - 如何在 TR 上的鼠标悬停/鼠标移出时显示/隐藏 div?

javascript - 如何获取页面中使用的所有外部或内部CSS?

c++ - 如何在#import c++ 命令中使用环境变量?

javascript - 我需要帮助使用 VS-2013 在服务器上部署我的 asp.net 网站

html - 在 CSS 的 ID 末尾使用奇数/偶数定位 div

angular - Ionic 2 - 如何导入 Intl polyfill

javascript - 如何在 Angular 6 中导入 JS 文件?

javascript - 最好的 jQuery 插件结构?

javascript - 错误类型错误 : Cannot read property 'toLowerCase' of undefined. Ionic 3

javascript - AJAX 不断寻找服务器更新? Javascript