Ruby on rails 如何在Rails标头中使用Webpacker资源内联CSS
我想在我的html中内联一些CSS。我以前用链轮来做过这件事,在我的layouts/application.html.erb中放了类似的东西Ruby on rails 如何在Rails标头中使用Webpacker资源内联CSS,ruby-on-rails,webpacker,Ruby On Rails,Webpacker,我想在我的html中内联一些CSS。我以前用链轮来做过这件事,在我的layouts/application.html.erb中放了类似的东西 <style> <%= Rails.application.assets["application.css"].to_s.html_safe %> </style> 现在我想做同样的事情,但是使用Webpacker捆绑的CSS资产 我可以通过Webpacker.manifest.lookup(“ap
<style>
<%= Rails.application.assets["application.css"].to_s.html_safe %>
</style>
现在我想做同样的事情,但是使用Webpacker捆绑的CSS资产
我可以通过Webpacker.manifest.lookup(“application.css”)
获取文件路径,但我缺少获取内容并将其嵌入布局的最新部分
这背后的理由:
为了提高页面速度,我想将我的关键CSS嵌入HTML的标题中。使用网页包和PostCss工具(PurgeCss)。我能够得到一个非常紧凑的我的CSS的上面折叠我的主页
CSS的其余部分与常用的包帮助程序异步加载
更新1
这是我写的文章的链接,感谢你的回答
让我们考虑在代码< App/JavaScript /包/应用程序中有一行。
import`../css/application.css'
还有一个包含一些有用内容的文件app/javascript/css/application.css
然后你拼写
而且它很有效
别忘了:
config/webpacker.yml
rake webpacker:在更改这些.css
和/或.js
文件后编译。或者使用webpack-dev-server
进行以下操作
config.public\u file\u server.enabled=true(如注释中提到的@Adrien),以便通过puma提供.js
资源
也许你想补充一个问题,为什么你需要这样包含一个资产。当然,只是在这个
Rails.application.assets
在生产中是nil
。谢谢,这正是我要找的。工作起来很有魅力。对不起,我的坏实际上在重新启动服务器后,我得到了一个没有这样的文件或目录@rb_sysopen error您使用哪种环境?应用程序根目录下是否有/public/packs/application.css
文件?在config/webpacker.yml
中是否有extract\u css
选项?我处于开发模式。我在我的webpacker.yml
配置中确实有extract\u css:true
,如果我以正常方式添加我的包,那么在我的html中它是从/public/packs/application-[hash id].css中获取的。但是这是在开发中,所以我在我的公用文件夹中看不到它