使用Webpack在Rails 6视图中导入单个CSS文件的最佳方法

安德烈·克劳斯(AndréKraüss)

所以我已经用标签导入了application.scss

<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
<%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>

它有效

但是我想分离我的css文件并在特定视图中调用它们,例如在home / index视图调用中

<%= javascript_pack_tag 'home/index', 'data-turbolinks-track': 'reload' %>
<%= stylesheet_pack_tag 'home/index', media: 'all', 'data-turbolinks-track': 'reload' %>

香港专业教育学院实现了这一点,创建了一个单独的js文件(例如home.js),并在内部像这样导入了home.scss

import '../../stylesheets/home/index'

我的问题是,这是正确的方法吗?

我是否总是需要创建一个js文件才能导入我的CSS文件?

有更好的方法吗?

罗斯塔

是的,有可能。您无需创建单独的JS文件,只需为每个视图创建一个CSS“ pack”:

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' %>

演示应用程序,带有更改的分支:https : //github.com/rossta/rails6-webpacker-demo/compare/example/css-pack

注意事项:

  1. 通常不建议每页使用多个“包”(例如“应用程序”和“主页”)(a)Webpack无法知道您要在包之间共享代码,除非您添加了特殊配置(请参阅脚注)。上面我的答案假设您没有跨包复制导入(或者您可以复制)。

  2. 的WebPack仍然会创建一个JavaScript包,所以你仍然需要加载CSS包都javascript_pack_tagstylesheet_pack_tag

一种。您可以使用splitChunksAPI(docs跨包共享代码

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

MVC-在单个视图中使用多个视图模型中数据的最佳/最简洁方法?

使用Webpack在Rails 6上设置Bootstrap 4.3

Knockout.js在Rails 6中无法使用Webpack

使用Webpack在Rails 6中安装Glide.js

如何在使用Laravel 6中导入自定义javascript和CSS文件

在React中导入CSS文件-Webpack /内联样式

使用Webpack导入CSS和JS文件

使用Webpack加载在TypeScript中导入angular

使用Webpack导入JavaScript文件

使用Rails 6中的Webpack从node_modules解决SCSS中的相对图像链接

如何在Rails 6和Webpack中使用自定义字体

如何在Rails 6应用程序中使用webpack的angular 8?

未捕获的 ReferenceError:未定义函数。在 rails6 中使用 webpack 的 HTMLButtonElement.onclick

使用Node.js Gulp在Less中导入.css文件

在 webpack 包中导入外部静态文件

如何使用Webpack在Vue.js单文件组件中导入json文件

如何使用 workbox-webpack-plugin injectMode 在 service worker 文件中导入其他文件?

如何在Rails 6的视图中使用JQueryUI

如何在Vue单个文件组件中导入和使用图像?

使用`import`语句从带有webpack的打字稿中导入原始文件

如何使用webpack在npm软件包子文件夹中导入模块?

使用Webpack 4在scss中导入字体或图像文件并反应js时出错

使用webpack捆绑CSS

在Webpack中使用CSS

Rails 6:如何禁用Webpack并改用Sprockets

Webpack:无法使用url()导入加载CSS

使用webpack ProvidePlugin全局导入javascript文件

CSS中的Rails 5.1 + Webpack ...图像?

如何在Rails视图中使用地图方法