【问题标题】:Rails webpacker.yml, extract_css optionRails webpacker.yml,extract_css 选项
【发布时间】:2019-01-22 00:18:48
【问题描述】:

根据 rails/webpacker 文档,extract_css 在生产环境中默认为 true,在开发中默认为 false。据我观察:

  • 如果 extract_css 为 true,webpacker 将从 application.html.erb 中的每个 stylesheet_pack_tag 发出一个 css 文件。

  • 并且,如果 extract_css 为 false,stylesheet_pack_tag 返回 nil 并且在 js 文件中导入的样式表将被提取并捆绑到 blob 中并发送到浏览器。因此,存在指向 blob url 的链接标签。

因此,我假设使用 extract_css true 会产生与在标题中使用内联样式相同的结果,因为样式会与网站文档文件一起下载到浏览器。如果我的理解是正确的,那么在生产中将 extract_css 设置为 true 应该没问题。

我对 extract_css 选项的理解是否正确?

【问题讨论】:

  • 我在生产中使用 extract_css: false 到目前为止没有问题。

标签: ruby-on-rails webpacker


【解决方案1】:

您大多是正确的,您可以在 css.md 或 v4-upgrade.md 中阅读有关 extract_css 的更多信息

使用extract_css: true,webpacker 将从每个 stylesheet_pack_tag 发出一个单个 css <link rel="stylesheet"...

使用extract_css: false,stylesheet_pack_tag 返回 nil 和导入到 js 文件中的样式表将被提取并捆绑到 blob 中并作为内联注入

最后 extract_css: false 是与使用内联样式产生相同结果的那个。

【讨论】:

  • 那么,对还是错,哪个更好?
  • @new2cpp 为 true,CSS 将从 JavaScript 中提取出来,并在您的页面头部可用,因此您的 Web 浏览器将并行下载 CSS 和 JS。这种模式非常适合生产,因为您将拥有静态文件。在开发模式下,您宁愿从 webpack 获取所有内容,因为当您更改文件时,您希望在不重新编译所有内容的情况下获取更新,因此在这种情况下最好使用 false。希望对您有所帮助!
【解决方案2】:

除了 webpacker.yml 中的“extract_css”之外,我没有其他要添加的内容,这也是我困惑的根源。在开发和生产中为“extract_css: false”时,文档头部包含一个样式表(不应该是“extract_css: true”吗?)。而当我使用“extract_css: true”时,文档中不包含样式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-22
    • 2013-05-11
    • 2016-01-29
    • 2011-02-21
    • 2013-09-25
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多