css - Materialize CSS - 如何将颜色修改与 NPM 模块分开?

标签 css npm sass materialize

我在电子应用程序中使用 materialize-css (0.100-2) 的 npm 模块。在 git 中不跟踪 Npm 模块。我对 SASS 组件进行了更改,特别是这些文件:

node_modules/
+-- materialize-css/
    +-- sass/
        materialize.scss    <-- changes
        +-- components/
            ...
            _color.scss     <-- changes
            _variables.scss <-- changes
            _palette.css    <-- new file I added

我已经使用此处的说明在 node_modules/materialize-css/dist/css 中编译了新的 materialize.css:http://materializecss.com/getting-started.html一切正常。

但是,我打算升级到 1.0.0-beta 并且需要将我的修改保留在 git 中。关于如何将我的修改与 SASS 文件分开但在编译 CSS 时仍然包含它们的任何想法或最佳实践?

最佳答案

您不应该直接更改您的 node_modules 文件,您应该在元素根目录中定义另一个文件,例如:app.scss

/
  ...
  node_modules/
  ...
  app.css
  package.json

如此处所示:http://materializecss.com/sass.html ,您现在可以在 app.scss 文件中更改您的 palette 等:

// Import materialize-css
@import "~materialize-css/sass/materialize";

$primary-color: color("materialize-red", "lighten-2") !default;
$primary-color-light: false !default;
$primary-color-dark: false !default;
@if not $primary-color-light {
  $primary-color-light: lighten($primary-color, 15%);
}
@if not $primary-color-dark {
  $primary-color-dark: darken($primary-color, 15%);
}
$secondary-color: color("teal", "lighten-1") !default;
$success-color: color("green", "base") !default;
$error-color: color("red", "base") !default;

$link-color: color("light-blue", "darken-1") !default;

/*** More variables not shown here.. ***/

注意您将需要添加一个sass 编译器。

关于css - Materialize CSS - 如何将颜色修改与 NPM 模块分开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49762589/

相关文章:

node.js - 使用多个命令将命令行参数传递给 npm 'pre' 脚本和脚本

laravel - NPM 安装失败,出现 ETXTBSY 错误,文本文件正忙

html - 尝试在 zurb foundation 中垂直对齐两列

html - 获取 float 图像以对齐左上角

c# - asp.net C# 如何以编程方式更改 Page_Load 上的正文背景图像

css - 将某行 CSS 对准特定标签

javascript - 使用 Javascript/html 调暗灯光/更改颜色按钮?

css - 为什么 bootstrap 会忽略我的某些样式并接受其他样式,即使它们属于同一类?

node.js - Webpack:如何加载原始 Node `.node` 文件

html - 为什么文本被推向圆圈的顶部