Ruby on rails 使用网页包在rails 6视图中导入单个css文件的最佳方法
所以我已经导入了application.scss和标签Ruby on rails 使用网页包在rails 6视图中导入单个css文件的最佳方法,ruby-on-rails,webpack,ruby-on-rails-6,webpacker,react-rails,Ruby On Rails,Webpack,Ruby On Rails 6,Webpacker,React Rails,所以我已经导入了application.scss和标签 <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %> <%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> 我的问题是,这是正确的方法吗 我是否总是必须创建js文件才能导入css文件 有更好的办
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
<%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
我的问题是,这是正确的方法吗
我是否总是必须创建js文件才能导入css文件
有更好的办法吗?是的,有可能。您不需要创建单独的JS文件,只需为每个视图创建一个CSS“包”:
app/javascript
└── packs
├── application.js
└── home.scss
在你看来:
<%= javascript_pack_tag 'home', 'data-turbolinks-track': 'reload' %>
<%= stylesheet_pack_tag 'home', media: 'all', 'data-turbolinks-track': 'reload' %>
演示应用程序,带有更改的分支:
注意事项:
JavaScript\u pack\u标记
和stylesheet\u pack\u标记
a。您可以使用
splitChunks
API()跨捆绑包共享代码 只想添加到OP示例中:您只能在包中分离CSS或JS。在我的例子中,JS文件对于所有人来说都是唯一的,对于管理员视图和用户视图来说是不同的CSS文件。
app/javascript
└── packs
├── application.js
└── home.scss
<%= javascript_pack_tag 'home', 'data-turbolinks-track': 'reload' %>
<%= stylesheet_pack_tag 'home', media: 'all', 'data-turbolinks-track': 'reload' %>