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

Import scss files from src/assets/ into a component scss file

我在 src/assets/ap/scss/ 中有一些 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 文件夹似乎没有正确链接。有什么建议吗?

在您的 angular.json 中,您的样式指向 "src/styles.scss" 我认为您应该改为指向 "src/assets/ap/scss/style.scss"。

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

您可以将 angular.json 文件中的路径添加为:

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

在此查看更多内容 page