使用 Angular Shortcut 导入 style 文件

简介: 使用 Angular Shortcut 导入 style 文件

假设我们的 Angular 项目具有下列这个文件结构:


b779d41d5abf51a857ad342c7f6cf5a1_d081c2828f651be980dbaec2083794aa.png


在一个典型的 Angular 项目中,通常会有很多组件。每个组件都有自己的样式表(CSS、SCSS、LESS 等)。Angular 开发人员可能经常需要在组件中包含全局样式文件(特别是变量文件),比如上图的 _variables.scss.


在 hello.component.scss 里需要导入全局 scss 样式,需要向下面这样反复使用 .. 这种相对路径语法来向上回溯:


// hello.component.scss
@import "../../../stylings/variables"; // this is not cool!
h1 {
    color: $brand-color;
}


这种相对路径语法非常容易出错。


如果你的项目是使用 Angular CLI 生成的,你可以在 .angular.cli.json 文件中添加一个 stylePreprocessorOptions > includePaths 的配置。这个配置允许你添加额外的基础路径,用于检查导入。它告诉 Angular CLI 在处理每个组件样式文件之前,在这些路径中查找样式文件。


例如,在我们的情况下,让我们将 ./stylings 添加到路径中。由于该配置接受一个数组,你可以添加多个路径。


{
  ...
  "apps": [{
  "root": "src",
  ...
  "stylePreprocessorOptions": {
    "includePaths": [
     "./stylings"
    ]
  }
  }]
}


现在我们可以对 component 的 scss 文件进行重构:


// hello.component.scss
@import "variables"; // change to just variables, say goodbye to ../../../stylings/
h1 {
    color: $brand-color;
}



bda7e776355a9827f8052da5a025b8d4_ed07dfc7be25a641f97c063f95a5f060.png

在 Angular 项目中,angular.json 文件是一个重要的配置文件,它包含了项目的各种元数据和配置信息。其中,stylePreprocessorOptions 字段用于配置样式处理器选项。


stylePreprocessorOptions 字段允许你设置 Sass/Less 等 CSS 预处理器的选项。这些选项可以包括全局变量、混合(mixins)等。通过在 angular.json 文件中配置 stylePreprocessorOptions 字段,你可以将这些选项应用到整个项目中,而不需要在每个组件中都单独设置。


一个常见的用例是通过 stylePreprocessorOptions > includePaths 配置选项,将全局的样式文件路径添加到 Angular CLI 的编译上下文中。这样,在编译组件时,就可以直接引用全局样式文件中定义的变量和混合。这种用法称之为 shortcut。


总之,stylePreprocessorOptions 字段的作用是允许你在 Angular 项目中使用预处理器,并提供了一些选项来配置预处理器的行为。

相关文章
|
7月前
|
开发者
Angular Schematics 实战 - 项目根目录新建一个文件
Angular Schematics 实战 - 项目根目录新建一个文件
30 0
|
7月前
|
JavaScript
Angular 应用里 server.ts 文件的 APP_BASE_HREF token 的用法?
Angular 应用里 server.ts 文件的 APP_BASE_HREF token 的用法?
54 0
|
1天前
|
Web App开发 前端开发 JavaScript
关于 Angular template 文件在 Chrome 开发者工具调试器里的断点问题
关于 Angular template 文件在 Chrome 开发者工具调试器里的断点问题
23 7
|
1天前
|
JavaScript 前端开发 开发工具
Angular 项目中一个 index.d.ts 文件的具体例子介绍
Angular 项目中一个 index.d.ts 文件的具体例子介绍
17 0
|
1天前
|
JavaScript 前端开发 开发者
Angular 项目里 tsconfig.schematics.json 文件的作用
Angular 项目里 tsconfig.schematics.json 文件的作用
10 0
|
7月前
|
缓存 资源调度 UED
Angular 应用构建完成后 vendor.js 文件的使用场合
Angular 应用构建完成后 vendor.js 文件的使用场合
53 0
|
7月前
|
API
Angular 应用里的 public_api.ts 文件的作用
Angular 应用里的 public_api.ts 文件的作用
49 0
|
8月前
Angular 项目中导入 styles 文件到 Component 中的一些技巧
Angular 项目中导入 styles 文件到 Component 中的一些技巧
42 0
|
1天前
|
JSON 数据格式
别扯那没用的~全网最简洁方法~让Angular可以直接引入import本地的json文件
别扯那没用的~全网最简洁方法~让Angular可以直接引入import本地的json文件
|
1天前
|
缓存 JavaScript 前端开发
关于 Angular PWA 应用中的 ngsw.json 文件
关于 Angular PWA 应用中的 ngsw.json 文件
32 1