我如何告诉Rails6和webpack在布局上只使用特定的css和js

我如何告诉Rails6和webpack在布局上只使用特定的css和js,css,ruby-on-rails,webpack,Css,Ruby On Rails,Webpack,我正在从事一个简单的rails项目 在app->javascript->dashboard下,我有两个js文件: metisMenu.min.js startmin.js 我将它们包含在app->javascript->packs下的application.js文件中: require("turbolinks").start() require("@rails/activestorage") require("channels") require("dashboard/metisMenu.m

我正在从事一个简单的rails项目

在app->javascript->dashboard下,我有两个js文件:

metisMenu.min.js startmin.js 我将它们包含在app->javascript->packs下的application.js文件中:

require("turbolinks").start()
require("@rails/activestorage")
require("channels")


require("dashboard/metisMenu.min")
require("dashboard/startmin")


import 'bootstrap'
import './stylesheets/application.scss'
对于我的CSS文件,我在app->javascript->packs下有一个样式表文件夹,其中还有以下内容:

metismen.min.scss startmin.scss _custom.scss 在我的application.scss文件夹中,我将它们包括在其中:

$$fa-font-path: '~@fortawesome/fontawesome-free/webfonts';
@import "~@fortawesome/fontawesome-free/scss/fontawesome";
@import "~@fortawesome/fontawesome-free/scss/solid";
@import "~bootstrap/scss/bootstrap";
@import "metisMenu.min";
@import "startmin";
最后,我在视图->布局下有两个布局:

dashboard.html.erb application.html.erb 现在我的问题是如何强制Rails6和webpack在特定布局中只使用特定的CSS和JS文件。例如,在dashboard.html.erb下,我只想使用以下JS文件:

metisMenu.min.js startmin.js 然后在我的CSS上,我只想使用这些: -metismen.min.scss -startmin.scss

以及常规的bootstrp和jQuery。我怎样才能做到这些?

使用不同的包装器。 您可以在布局文件中决定使用哪个包:

雇员再培训局的情况如下:

<%= javascript_pack_tag 'application' %>
因为它在布局文件中,所以您可以决定使用不同于标准application.js的文件

例如,一个好方法是与库共享一个包文件,然后使用每个布局的javascript:

<!-- dashboard.html.erb -->
<%= javascript_pack_tag 'libs' %>
<%= javascript_pack_tag 'dashboard' %>
<!-- application.html.erb -->
<%= javascript_pack_tag 'libs' %>
<%= javascript_pack_tag 'application' %>
<!-- dashboard.html.erb -->
<%= javascript_pack_tag 'libs' %>
<%= javascript_pack_tag 'dashboard' %>
<!-- application.html.erb -->
<%= javascript_pack_tag 'libs' %>
<%= javascript_pack_tag 'application' %>