将src / assets /中的scss文件导入组件scss文件

时间:2018-05-29 19:36:48

标签: angular webpack sass angular6

我在scss中有一些src/assets/ap/scss/个文件:

src/
..app/
..assets/
....ap/
......bootstrap/
......scss/
........variable.scss
........grid.scss
........responsive.scss
........style.scss

src/assets/ap/scss/style.scss

// depending on the solution, I imagine these need to be updated
@import 'src/assets/ap/scss/variable';
@import 'src/assets/ap/scss/grid';
@import 'src/assets/ap/scss/responsive';

在我的一个组件中,我想像这样导入它们:

// home.component.scss
// depending on the solution, I imagine this needs to be updated
@import './src/assets/ap/scss/style';

// home.component.ts
@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: [
      '../../assets/ap/bootstrap/css/bootstrap.min.css',
      './home.component.scss'
   ]
})

angular.json

"schematics": {
  "@schematics/angular:component": {
    "styleext": "scss"
  }
},

...

"assets": [
  "src/favicon.ico",
  "src/assets"
],
"styles": [
  "src/styles.scss"
],

这一切都很好,但是当我加载页面时,scss样式不存在。似乎assets文件夹没有正确链接。有什么建议吗?

2 个答案:

答案 0 :(得分:4)

在你的angular.json中,你的风格指向" src / styles.scss" 我认为你应该指向" src / assets / ap / scss / style.scss"代替。

"styles": [
  "src/assets/ap/scss/style.scss"
],

答案 1 :(得分:0)

您可以将路径添加到angular.json文件中,如下所示:

        "stylePreprocessorOptions": {
          "includePaths": [
            "src/assets/css"
          ]
        },

在此page

中查看更多信息