首页 文章

使用Angular 2 CLI进行SASS Mixins

提问于
浏览
1

我很高兴看到新的Angular CLI工具,我正在调整我的MEAN堆栈以使用它的文件夹结构 . 我设置我的应用程序使用SCSS而不是css,因为我喜欢SASS .

但是,应该作为全局工作的主要styles.scss似乎不会在mixins中加载以用于其他scss文件 . 我的styles.scss看起来像这样:

STYLES.SCSS

//Compass Import
    @import "compass";
    @import "compass/reset";
    @import "compass/css3/box-shadow";
    @import "compass/css3/text-shadow";
    @import "compass/css3/filter";
    @import "compass/css3/flexbox";
    @import "compass/css3/transition";

    //External Libraries

    @import "susy";
    @import "breakpoint";


    //Core Partials
    @import "scss/variables";
    @import "scss/base";
    @import "scss/mixins";
    @import "scss/layout";

    //Modules

    @import "modules/myApp";

我的组件的我的SCSS文件使用@includes作为断点和susy之类的东西但是我得到一个错误,它说 can't find "Container", however susy is installed and imported in the styles.scss .

错误

ERROR in ./src/app/app.component.scss
Module build failed:
        @include container;
         ^
      No mixin named container

Backtrace:
        stdin:3
      in C:\Users\Allie\Desktop\HWADatabase\src\app\app.component.scss (line 3, column 11)
 @ ./src/app/app.component.ts 26:21-52
 @ ./src/app/app.module.ts
 @ ./src/main.ts
 @ multi webpack-dev-server/client?http://localhost:4200/ ./src/main.ts

ERROR in ./~/css-loader?{"sourceMap":false}!./~/postcss-loader!./~/sass-loader!./src/styles.scss
Module build failed:
@import "compass";
^
      File to import not found or unreadable: compass.
Parent style sheet: stdin
      in C:\Users\Allie\Desktop\HWADatabase\src\styles.scss (line 2, column 1)
 @ ./src/styles.scss 4:14-181
 @ multi ./src/styles.scss

2 回答

  • 0

    确保通过运行以下命令设置全局默认样式:

    ng set defaults.styleExt scss
    
  • 0

    看起来Angular找不到指南针......

    检查这个帖子:https://github.com/angular/angular-cli/issues/2115尝试通过npm安装指南针 - mixins

相关问题