ruby-on-rails - 直接在 JS 中使用 webpacker 3+ 在 Rails 5.2 中支持 Sass
问题描述
我想在一个全新的 Rails 应用程序中包含 SASS 支持,直接在我的 Javascript 文件中导入 .scss 文件。
到目前为止,这就是我所做的:
1- 按照https://github.com/rails/webpacker
创建一个新的带有反应集成的 webpacker rails 应用程序。你好世界是成功的。
packs
我在文件夹中有 Webpacker 的入口点
import ReactDOM from "react-dom";
import Hello from "../hello_world";
document.addEventListener("DOMContentLoaded", () => {
ReactDOM.render(
<Hello name="React" />,
document.body.appendChild(document.createElement("div"))
);
});
3 - 我的 Hello World 组件
import React from "react";
import "./test.scss";
const Hello = props => <div className="red">Hello {props.name}!</div>;
export default Hello;
4 - 我的 sass 文件
.red {
background-color: red;
}
5 - 查看
<%= javascript_pack_tag 'hello_world_pack' %>
6 - 布局模板
<html>
<head>
<title>Myapp</title>
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
</head>
<body>
<%= yield %>
</body>
</html>
完全没有抱怨,但Red
没有应用颜色。我忽略了什么?
注意:我可以成功添加 SASS 支持,但my_stylehseet.scss
直接在pack
文件夹中添加一个文件,并使用 `<% = stylesheet_pack_tag 'my_stylesheet %>' 将其引用到我的布局模板中。但我希望我的模板与样式表无关,我不必拥有多个模板。
我真的认为有一种更优雅的方式如果我正确理解 webpacker dochttps://github.com/rails/webpacker/blob/master/docs/css.md
也许我错了吗?
解决方案
只是为了记录,这里已经回答了这个问题Rails Webpacker 3.0 import CSS file is not working并且 webpacker 文档很清楚https://github.com/rails/webpacker/blob/master/docs/css.md
推荐阅读
- javascript - 如何在 Firebase 上添加子项,然后获取并显示信息?
- javascript - 如何通过单击使用循环动态创建的按钮来获取按钮的值
- android - 从 ViewHolder 类更新项目数据
- javascript - 求和嵌套值(如果存在)
- javascript - 如何为数组上的每个元素运行函数
- parsing - 阅读器宏与普通解析器
- c# - 使用 Azure 函数始终加密 - 尝试通过静态变量避免重复初始化
- rust - 是否有针对 Rc 或 Arc 的操作克隆基础值并将其返回给调用者?
- javascript - Whats wrong with my javascript canvas code?
- swift - How to store custom object in Firebase with Swift?