首页 > 其他分享 >使用 Angular Shortcut 导入 style 文件

使用 Angular Shortcut 导入 style 文件

时间:2023-05-16 18:46:09浏览次数:44  
标签:scss 文件 style stylePreprocessorOptions .. 样式 Shortcut Angular

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

在一个典型的 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;
}

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

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

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

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

标签:scss,文件,style,stylePreprocessorOptions,..,样式,Shortcut,Angular
From: https://www.cnblogs.com/sap-jerry/p/17406486.html

相关文章

  • 什么是 Angular 的 banana-in-a-box detection 机制
    "banana-in-a-boxdetection"是一个Angular表单绑定的术语。在Angular应用中,表单绑定通常采用“双向绑定”的方式,即使用[(ngModel)]或[(value)]等语法实现数据的双向绑定。其中,"banana-in-a-box"表示[()]符号的形状,即一个圆括号和一个方括号相连。这种绑定方式的优点......
  • 关于 Angular 中的 AuthGuard
    Angular中的AuthGuard是一个路由守卫,它用于保护某些路由,只有当用户经过身份验证并具有访问权限时,才允许他们访问。AuthGuard通常与路由配置一起使用,以确保用户无法直接访问需要身份验证的页面。AuthGuard是一个Angular服务,可以使用以下命令来创建它:nggguardauth上面......
  • Angular ngZone 源码解析
    AngularngZone源码解析ngZone源码中有几个常用的方法,属性,这里做一个整理与总结Zone.js简介ZoneJs职责拦截异步任务的调度封装回调函数用于异常处理以及异步操作中zone的跟踪提供往zone中添加数据的方法提供上下文特定的最后一帧错误处理拦截阻塞方法Zone的底层异......
  • Vue2入门之超详细教程十-绑定class、style样式
    1、简介绑定样式:1.class样式写法:class=”xxx” xxx可以是字符串、对象、数组字符串写法适用于:类名不确定,要动态获取对象写法适用于:要绑定多个样式,个数不确定,名字也不确定数组写法适用于:要绑定多个样式,个数确......
  • Angular 服务器端渲染两个相关的 SERVER_REQUEST_URL 和 SERVER_REQUEST_ORIGIN
    下面这段代码有什么用?exportclassAppModule{constructor(@Optional()@Inject(SERVER_REQUEST_URL)protectedserverRequestUrl?:string,@Optional()@Inject(SERVER_REQUEST_ORIGIN)protectedserverRequestOrigin?:string){console.log({serverR......
  • delphi StyleControl中DB控件的使用说明
    这两天听大佬说"可视化绑定"的效率很低,再加对下拉菜单,单选,复选框等控件绑定操作的未知,于是我决定把普通组件,改为DB组件. 正常来讲,基本上所有DB组件只要设置好了数据源和字段绑定,就能显示数据来, 但是我这边就出现了一点意外,源于对sqlite数据库认知度不够的原因......
  • Angular Iv,下一代编译 & 渲染工具!
     AngularIvy是Angular的下一代编译和渲染工具,它带来了速度和大小方面的改进。Ivy是Angular下一代编译和渲染的代号。它提高了构建代码的速度和大小等。Ivy从Angular框架的第9版就开始使用了。在本文中,我们将看到AngularIvy为Angular项目带来的改进。KendoUIforAngular是......
  • 微信小程序 app.json 里 "style": "v2" 的作用
    新版微信小程序的app.json文件中多了一个:style":"v2"{"pages":["pages/index/index","pages/logs/logs"],"window":{"backgroundTextStyle":"light","navigationBarBac......
  • AStyle - Clion中配置代码格式化工具
    安装(OSX平台)brewinstallastylebrewlistastyleCLion配置1、下载插件FileWatchers2、配置插件FileWatchers:按照图中一摸一样填写即可Name:用户自己取个名字Filetype:选C/C++Scope:选择OpenFilesProgram:找到目录并选择上面brewlistastyle的路径Argument(附:博主......
  • Shortcut of Chrome on Windows & Linux
    ShortcutofChromeonWindows&LinuxTab&windowshortcutsActionShortcutOpenanewwindowCtrl+nOpenanewwindowinIncognitomodeCtrl+Shift+nOpenanewtab,andjumptoitCtrl+tReopenpreviouslyclosedtabsinthe......