在Angular Dart中使用SASS

时间:2019-03-23 22:30:43

标签: dart angular-dart

我试图弄清楚如何在AngularDart项目中使用.scss文件。

到目前为止,我的应用程序结构如下:

-lib
    -src
        -signin_component
            -signin_component.dart
            -singin_component.html
            -signin_component.scss
            -signin_component.scss.css
        -route_paths.dart
        -routes.dart
    -app_component.css
    -app_component.dart
    -app_component.html

pubspec.yaml文件包含以下内容:

environment:
  sdk: '>=2.0.0 <3.0.0'

dependencies:
  angular: ^5.0.0
  angular_components: ^0.12.0
  angular_forms: ^2.0.0
  angular_router: ^2.0.0-alpha+19 
  bootstrap_sass: any

dev_dependencies:
  angular_test: ^2.0.0
  build_runner: ^1.0.0
  build_test: ^0.10.2
  build_web_compilers: ^0.4.0
  test: ^1.0.0

我正在尝试向singin_component.html文件中添加样式,但是我所做的一切都没有用。 singin_component.dart文件具有以下内容:

import 'package:angular/angular.dart';
import 'package:angular_components/material_icon/material_icon.dart';

@Component(
  selector: 'app-signin',
  templateUrl: 'signin_component.html',
  styleUrls: const [
      'signin_component.scss.css',
      'package:angular_components/app_layout/layout.scss.css'
  ],
  directives: [
    MaterialIconComponent
  ]  
)

class SigninComponent{

}

我已经在stackoverflow上阅读了几篇关于此的文章。一些参考是:

我已经尝试了以上帖子中推荐的几乎所有方法,但是仍然没有任何效果。在这一点上,我想问一下这里是否有人可以指导我。我没有飞镖经验。我正在学习AngularDart,感觉缺少了一些看不见的东西。

1 个答案:

答案 0 :(得分:1)

如果将sass_builder: ^2.1.2添加到项目中的dev_dependencies,它将在构建期间运行,并为您拥有的任何.scss文件创建.css文件。

我建议从您的源目录中删除signin_component.scss.csssignin_component.css(注意扩展名)将在构建过程中生成。

更新您的角度组件以包括生成的.css文件:

styleUrls: const [
      'signin_component.css',
      'package:angular_components/app_layout/layout.scss.css'
  ],

从angular_components包导入的文件仍需要以.scss.css结尾,因为我们会为该包生成自定义扩展名。