【问题标题】:Why load stylesheets through JS?为什么要通过 JS 加载样式表?
【发布时间】:2016-11-01 12:45:19
【问题描述】:

Webpack 的主页声称将所有样式表和依赖项编译到一个 CSS 文件中,但这是一种误导。你不仅需要一个单独的 CSS 加载器,而是输出为一个 JS 文件,加载然后应用嵌入的 CSS 字符串。

为什么要走长途?这样做一定有充分的理由,对吧?

(我知道提取文本插件,但这不是默认行为。)

由于 JavaScript 是同步执行的,这不会对尽快显示内容造成惩罚吗?此外,在最终加载和应用样式之前,我可以在短时间内看到一个无样式的页面。

当一个简单的 CSS 文件很好时,我到底为什么要通过 JS 加载我的样式?

【问题讨论】:

  • 加载器有很多功能。您可以加载 URL 而不是 CSS 字符串:require("style/url!file!./file.css");

标签: html css webpack webpack-style-loader


【解决方案1】:

所以在像 GULP 这样的系统中,GULP 是一个 Javascript 任务运行程序,它可以根据您设置构建过程的方式将 CSS 和 Javascript 依赖项编译成单个文件或多个文件。

编译 CSS 的原因

  • 能够使用 LESS 或 SASS 等预处理器
  • 自动缩小这些资产以进行分发。
  • 能够将多个 CSS 文件合并到一个文件中以减少页面上的总请求数。
  • 能够将修订号添加到文件末尾以击败缓存系统。

编译JS的原因

  • 将多个脚本组合成一个脚本的能力 减少请求和文件大小。
  • 自动缩小。
  • 能够将修订号添加到文件末尾以击败缓存系统。

Webpack 听起来像是一种非常落后的方式来做这些事情。

【讨论】:

  • 我不认为我理解这个答案。我知道将单一类型的资产打包到同类型的较大文件中的好处,但我不明白为什么 webpack 选择将 CSS 打包到 JS 中。连接、缩小和版本控制也是 CSS 可以做的所有事情。
  • 另外,你的意思是说我正在做的事情使用 webpack 是倒退吗?因为我认为这是它的预期目的。
猜你喜欢
  • 2023-01-19
  • 2014-04-04
  • 2018-07-24
  • 2014-03-12
  • 2014-11-17
  • 2021-10-23
  • 2013-01-23
  • 1970-01-01
  • 2022-01-25
相关资源
最近更新 更多