在 Angular 2 中使用 Sass

2024-03-26

我正在尝试设置Sass in my Angular 2项目。基本上据我了解,有两种方法可以创建 Angular 2 项目

1)使用angular-cli (https://github.com/angular/angular-cli https://github.com/angular/angular-cli)

我参考了中提到的答案https://stackoverflow.com/a/41541042/2868352 https://stackoverflow.com/a/41541042/2868352&我可以成功使用scssAngular 2 项目中的文件,一切都很好,但我无法找到生成的css文件来自scss文件在项目文件夹中。谁能解释一下为什么没有的原因css文件已生成但仍然有效?

2) Using quickstart seed (https://angular.io/guide/quickstart https://angular.io/guide/quickstart)

我无法获得有关如何设置的任何信息sass在快速启动项目中。有谁知道如何使用sass在 Angular 提供的快速启动项目中?

提前致谢!


[如果您使用的是 Angular cli,请检查本答案末尾的编辑部分]

解释如何在“快速启动种子”中使用 sass(https://angular.io/guide/quickstart https://angular.io/guide/quickstart) (https://angular.io/guide/setup#download https://angular.io/guide/setup#download)

请按照以下简单步骤操作:

第 1 步:设置快速启动种子

使用以下命令进行设置

npm install
npm start

您将在浏览器上看到“Hello Angular”。

第2步:安装node-sass和sass-loader

使用下面提到的命令来安装

npm i node-sass -S
npm i sass-loader -S

现在您可以看到这两个内容都添加到“package.json”文件内的“依赖项”中。

步骤3:为Sass代码和Css代码创建2个文件夹

在“quickstart-master”文件夹中创建两个任意名称的文件夹。在这种情况下例如: “sass_folder”和“css_folder”。现在创建一个演示文件“demo.sass”并将其放入“sass_folder”中。您可以在此 .sass 文件中放置简单的 sass 代码。它看起来像这样:

  $font-stack:    Helvetica, sans-serif
  $primary-color: #000

  body
    font: 100% $font-stack
    color: $primary-color

第 4 步:在“package.json”文件中进行更改

将脚本添加到构建并观察“sass_folder”中存在的 Sass 代码。编译后,生成的CSS代码应存储在“css_folder”中。更改后,“package.json”文件中的“脚本”应如下所示:

"scripts": {
     "build": "tsc -p src/",
     "build:watch": "tsc -p src/ -w",
     "build:e2e": "tsc -p e2e/",
     "serve": "lite-server -c=bs-config.json",
     "serve:e2e": "lite-server -c=bs-config.e2e.json",
     "prestart": "npm run build",
     "start": "concurrently \"npm run build:watch\" \"npm run serve\" \"npm run watch:sass\"",
     "pree2e": "npm run build:e2e",
     "e2e": "concurrently \"npm run serve:e2e\" \"npm run protractor\" --kill-others --success first",
     "preprotractor": "webdriver-manager update",
     "protractor": "protractor protractor.config.js",
     "pretest": "npm run build",
     "test": "concurrently \"npm run build:watch\" \"karma start karma.conf.js\"",
     "pretest:once": "npm run build",
     "test:once": "karma start karma.conf.js --single-run",
     "lint": "tslint ./src/**/*.ts -t verbose",
     "build:sass": "node-sass sass_folder/ -o css_folder",
     "watch:sass": "npm run build:sass && node-sass sass_folder/ -wo css_folder/"
  }

仅查看“start”、“build:sass”和“watch:sass”。

第 5 步:运行应用程序

现在您可以使用以下命令运行该应用程序:

npm start

您将在“css_folder”中看到编译后的 css 代码,其文件名为“demo.css”。它看起来像这样(在本例中):

body {
  font: 100% Helvetica, sans-serif;
  color: #000; }

现在,如果您在 .sass 文件中进行任何更改,当脚本正在监视代码时,它将动态地反映到 .css 文件中。

如果显示错误,请在 .sass 文件中进行任何更改时关闭 .css 文件。

注意:对于 scss 代码,您可以遵循相同的步骤。在这种情况下,您只需将 .scss 文件放入“sass_folder”中即可。

[edited] 如果您想使用 Angular CLI:

在创建新的 Angular 项目时,使用下面提到的命令:

对于萨斯:

ng new Demo_Project --style=sass

对于scss:

ng new Demo_Project --style=scss

要更改现有样式:

ng set defaults.styleExt scss

之后就可以正常使用Cli了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Angular 2 中使用 Sass 的相关文章

  • 选择 jQuery 中的每第 n 个项目?

    jQuery 有方便的 even 和 odd 选择器 用于选择集合中偶数或奇数索引的项目 我用它来清除一系列浮动框中的所有其他项目 如下所示 div class 2up div div div div div div div and Cle
  • 飞碟中的外部 CSS

    我想知道如何在 Flying Saucer 中包含外部 CSS 在此之前THB我检查了所有可用的链接StackOverflow但它们没有帮助 这就是为什么我自己做这个的原因 TestCSS xhtml重命名版本TestCSS html 所以
  • CSS 3.0 用户选择属性替换

    我正在使用 CSS 3 0 它抱怨 用户选择 属性不存在 有谁知道合适的替代品或替代品是什么 user select is 回到规范 https drafts csswg org css ui 4 propdef user selectCS
  • 为什么行框之间有空格,而不是由于半行距?

    在下面的代码示例中 您将看到垂直流动的之间有空白spans是 每个之间有空白line box 我想首先声明这与之间的差距无关inline block框 甚至是结果半领先 https www w3 org TR CSS21 visudet h
  • 防止文本环绕浮动图像

    我目前有一个向左浮动的图像 以及位于其右侧的一段文本 该文本块当前不是浮动的 它只是位于 HTML 中的图像之后 因此 当它变得更长时 它最终会踢到图像下方的左侧以继续 如何才能使文本块始终保持在图像的右侧 以便图像和文本的行为就像两个并排
  • IE9支持CSS线性渐变吗?

    有了 Chrome Safari 和 Firefox webkit gradient and moz linear gradient特性 我怎样才能用 IE9 做同样的事情呢 最好的跨浏览器解决方案是 background fff back
  • 如何使用 jQuery 在第二次单击时反转 CSS 动画

    我制作了以下菜单图标 CSS 动画 当我点击它时会触发它 当我使用 jQuery 第二次单击它时 我想使其反向动画 path1 stroke dasharray 33px stroke dashoffset 33px animation l
  • Angular 4在下一行显示p标签的换行符

    我有一个 Angular 4 页面 我必须在其中显示用户评论列表 用户可以多行输入评论 我想在多行中绑定文本 我想显示以 n在新行中 我努力了 p p p comment text p 我不想更换 n with br 标签 我想要别的东西
  • Webix 树节点的 Font Awesome 图标

    Webix 与 Font Awesome 集成 http docs webix com desktop icon types html 但是如何使用 Font Awesome 图标代替树中的默认文件夹 文件图标来设置各个节点的样式呢 这是我
  • 防止拖动不可拖动元素时出现重影?

    我正在创建一个利用 HTML5 拖放 API 的网站 但是 为了增加用户体验 我想在用户拖动不可拖动元素时防止出现重影 这可能吗 此外 几乎每个元素似乎 可拖动的 默认情况下 人们可以单击然后快速拖动浏览器中的几乎任何元素 这会创建一个重影
  • 为什么 webkit 径向渐变在 Safari 中不起作用?

    这在 Chrome 中有效 但在 Safari 中无效 background webkit radial gradient center ellipse cover fdfdfd d3d3d3 我该如何修复 Safari 的问题 它甚至在
  • 如何用按钮生成不同的颜色

    我是初学者 想知道如何使用生成按钮生成所有不同的颜色 我应该向按钮 addEventListener 的第二个参数添加什么 另外 如何让它在刷新时自动生成颜色而不是不生成颜色 var getcolors document querySele
  • 如何限制 Chrome 中的最大文本区域宽度和高度或如何禁用文本区域调整大小

    Chrome 允许通过在右下角添加文本区域来调整文本区域的大小 但有时这种移动可能会破坏页面的设计 所以我想知道如何限制该操作的最大和最小宽度 即如何完全禁用该功能和thml javascript css在页面上 您可以使用 resize
  • 在设置后用 Javascript 替换 'var' css 属性

    我有一个元素 其上设置了 var 属性 如下所示 div class divwithbackground div CSS divwithbackground after background image var page header se
  • minmax 失败(属性值无效)

    Chrome 给出了invalid property value并且不尊重CSS grid template columns repeat auto fill minmax auto 1fr 当auto被替换为min content and
  • 需要一个正则表达式将 css 类添加到第一个和最后一个列表项

    更新 谢谢大家的意见 一些附加信息 它实际上只是我正在使用的一小部分标记 20 行 目的是利用正则表达式来完成工作 我还能够修改脚本 电子商务脚本 以在构建导航时插入类 我想限制我所采用的黑客数量 以便在更新到软件的最新版本时让事情变得更容
  • 复合组件和 CSS

    I have newcss css formdiv width 30 margin 150 auto 和复合组件
  • 如果禁用,Scss 会更改 mat-checkbox 的颜色

    在我的组件的 scss 文件中 我可以在选中时设置 mat checkbox 的背景颜色 deep mat checkbox checked mat accent mat checkbox background mat checkbox i
  • 指定 body CSS 宽度安全吗?

    现在通常满足于以一定的尺寸居中 div Blah div 不使用包装器进行对齐和大小并直接将其应用到body tag 像这样 Blah 尺寸是
  • 在请求标头中设置 Cookie Angular2

    我是 angular2 的新手 我的服务器 spring 在其响应标头中使用 set cookie 值来响应身份验证 如何将该 cookie 设置为下一次 API 调用的请求标头 我搜索了很多 但找不到合适的解决方案 作为http get

随机推荐

  • 如何对调用 getJSON 的 javascript 函数进行单元测试

    我已经在单元测试中苦苦挣扎了两天 但在异步测试方面我无法实现一些目标 我是单元测试的新手 我不明白为什么这不起作用 我有一个文件 login js 调用 getJSON url data function 并返回一个带有登录状态的字符串 成
  • Android OnClickListener 未在 GridView 中触发(仅限 2.2)

    我有一个由 CursorAdapter 生成的按钮网格视图 当 CursorAdapter 传递到 Gridview 时 视图会正确呈现 但网格中的第一个项目不会触发 OnClickListener 事件 如果我在网格中选择另一个按钮 该事
  • 使用java代码获取FXML文件节点

    如何使用 FXML 文件获取元素或节点Java 我知道使用方法初始化或通过设置控制器FxmL 中的类 但我需要在没有任何控制器的情况下完成它 我想使用访问 fxml 文件内的节点 我的 FXML 代码 HBox fx id hbx id h
  • 如何知道基类指针指向什么类型的对象?

    我有一个名为 Cell 的基类 其他类有一个指向该类的对象的指针 以及 3 个派生类 CellA CellB 和 CellC 当一个 Cell 死亡时 指针指向 Cell 否则是存活的 A B 或 C 如何知道此时此刻指针指向什么而采取行动
  • 在按钮上绘制文本 - 外观差异

    I have my custom button where I have overridden the OnPaint and draw the text in it only On runtime the text looks diffe
  • 尝试修复 NetworkOnMainThreadException 但出现 Toast 错误

    我正在尝试修复来自 java 代码极客的我最喜欢的示例之一的线程错误 这是代码 public class JsonParsingActivity extends Activity String url http search twitter
  • @include 容器是什么意思?

    我正在开始使用 Compass 和 Susy 我的目标是让我的布局适应手机 平板电脑和桌面屏幕尺寸 在 Susy 的例子中 susy oddbird net http susy oddbird net guides reference re
  • Linux(或 RedHat Linux)上的小块分配器以避免内存碎片

    我知道有一个用于用户应用程序的分配器 可以处理 HP UX 上的大量小块分配链接文本 http docs hp com en B9106 90010 malloc 3C html在 Windows XP 上低碎片堆 http msdn mi
  • C# - 如何从集合视图中获取不同的项目

    CollectionView view CollectionView CollectionViewSource GetDefaultView MyData View Filter i gt MyClass i MyProperty 我有一个
  • iOS:UDID 已弃用...MAC 地址?

    据我们所知 Apple 不赞成开发者访问 UDID 但据我所知 可以获得 iDevice 的 MAC 地址 那么有什么区别呢 MAC地址和UDID都是硬件的唯一标识符 与应用程序无关 UDID 和 MAC 地址之间的一些明显差异 可以想象
  • Emacs 读取大文件 ~14GB [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 最近我在我的系统上下载了 emacs 来编辑大文件 正如它声称的那样 当尝试打开大文件时 emacs 给我带来了缓冲区大小超出的问题 有办法增加吗 我
  • 使用Android模拟器进行远程调试

    是否可以在一台机器上编写代码 编译 Android 应用程序并在另一台机器上启动的模拟器上远程调试它 我厌倦了模拟器不断地占用我笔记本电脑一半的 CPU 我以前没有尝试过 甚至没有注意到 adb connectcmb 提到的命令 但我可以确
  • 修复了 IOS 上位置延迟的问题

    当我在 iPad 上测试了我的网站上的 affix 后 我发现它无法正常工作 我惊讶地发现这是 iOS 的问题https github com twbs bootstrap issues 11560 https github com twb
  • Android 中的 ImageView 内容是否有工具属性?

    我找不到tools属性以在 Android 布局中设置示例图像 我的假设是目前没有这样的事情 至少没有direct支持 但我想知道是否我搜索得不够好或者是否有解决方法 如何在 Android 设计时定义图像占位符tools 的例子tools
  • 使用 barsince(change(strategy.position_size)) > 10 时输入不起作用

    我的脚本中有一个奇怪的问题 这是工作代码 version 4 strategy Test script overlay true pyramiding 100 process orders on close true FACTOR 1X M
  • 使用 jQuery 检索和修改 :before 元素

    我想选择一个由 CSS 选择器创建的元素 before 我尝试使用 element before 但这不起作用 因为它选择了整个元素 而不仅仅是 before元素 这是示例代码 DEMO http jsfiddle net qGStB 在该
  • 无法在 Mac 上的 Genymotion 模拟器上运行 telnet 命令

    我在 Mac OS X Yosemite 上运行 Genymotion 2 3 1 当我在 Win 7 上运行 Genymotion 时 我可以远程登录到模拟器并运行 geo fix 等命令来设置位置 但是 在 Yosemite 上 当我远
  • 在 Excel 中单击时,超链接从 # 更改为 %20-%20 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 Excel 2013 工作表中有一个链接到内部网站的超链接 当我右键单击并选择 编辑超链接 时 我在地址栏中看到以下内容 这是正确的
  • 饥饿与upgrade_lock

    我正在尝试使用Boostupgrade lock using 这个例子 https stackoverflow com questions 989795 example for boost shared mutex multiple rea
  • 在 Angular 2 中使用 Sass

    我正在尝试设置Sass in my Angular 2项目 基本上据我了解 有两种方法可以创建 Angular 2 项目 1 使用angular cli https github com angular angular cli https