如果 extract_css 为假,如何让 webpacker 加载 css
how to get webpacker to load css if extract_css is false
我有以下打包文件:
// app/javascript/packs/styles.js
import 'bootstrap/dist/css/bootstrap'
除非我在 config/webpack.yml 中设置 extract_css: true
我不知道如何加载这些样式。
如果我设置 extract_css: true
并在布局中包含 <%= stylesheet_pack_tag 'styles' %>
一切似乎都有效。
但是,extract_css: false
的意义何在?为什么您永远不想要这个?因为它是默认的 webpacker 配置,我觉得好像缺少一些重要的东西。
我不是 100% 确定,但我认为如果您提取 css,webpack 将生成独立的 css 文件,因此您可以 link 它。如果你不提取它,CSS 会被捆绑在 js 文件中,webpack 将在页面加载时处理它,并将 CSS 插入 style
标签中 [=11] =] 文档的标签。
要从 js 文件中提取 CSS,它使用 mini-css-extract 插件。
https://webpack.js.org/guides/asset-management/#loading-css
在某些情况下,如果您希望仅通过一个请求获得所有 js 和 css,您可能希望将 css 保留在捆绑包中。
使用 extract_css: false
,样式由 webpack js 运行时作为 blob url 提供,并内联注入文档 <head>
(假设您有相应的 javascript_pack_tag
)。
这种方法在开发中的一个用例是更好地支持 CSS 的热模块重新加载。
我有以下打包文件:
// app/javascript/packs/styles.js
import 'bootstrap/dist/css/bootstrap'
除非我在 config/webpack.yml 中设置 extract_css: true
我不知道如何加载这些样式。
如果我设置 extract_css: true
并在布局中包含 <%= stylesheet_pack_tag 'styles' %>
一切似乎都有效。
但是,extract_css: false
的意义何在?为什么您永远不想要这个?因为它是默认的 webpacker 配置,我觉得好像缺少一些重要的东西。
我不是 100% 确定,但我认为如果您提取 css,webpack 将生成独立的 css 文件,因此您可以 link 它。如果你不提取它,CSS 会被捆绑在 js 文件中,webpack 将在页面加载时处理它,并将 CSS 插入 style
标签中 [=11] =] 文档的标签。
要从 js 文件中提取 CSS,它使用 mini-css-extract 插件。
https://webpack.js.org/guides/asset-management/#loading-css
在某些情况下,如果您希望仅通过一个请求获得所有 js 和 css,您可能希望将 css 保留在捆绑包中。
使用 extract_css: false
,样式由 webpack js 运行时作为 blob url 提供,并内联注入文档 <head>
(假设您有相应的 javascript_pack_tag
)。
这种方法在开发中的一个用例是更好地支持 CSS 的热模块重新加载。