代码之家  ›  专栏  ›  技术社区  ›  jfix

具体化CSS-如何将颜色修改与NPM模块分开?

  •  1
  • jfix  · 技术社区  · 6 年前

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

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

    我已经编译了新的 materialize.css 在里面 node_modules/materialize-css/dist/css 使用此处的说明: http://materializecss.com/getting-started.html 一切都很顺利。

    然而,我计划升级到1.0.0-beta版本,并且需要在git中保留我的修改。关于如何将我的修改与SASS文件分开,但在编译CSS时仍然包含它们,有什么想法或最佳实践吗?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Yefferson Marín    6 年前

    您不应直接更改 node_modules 文件,而不是在项目根目录中定义另一个文件,例如: app.scss

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

    如图所示: http://materializecss.com/sass.html ,您现在可以更改托盘,因此 应用程序。scss公司 文件:

    // 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 编译器。