我是Angular的新手,来自Ember社区。尝试使用新的基于Ember-CLI的Angular-CLI。
我需要知道在一个新的Angular项目中处理SASS的最佳方法。我尝试使用Ember-CLI -sass回购,看看它是否能正常运行,因为Angular-CLI的许多核心组件都是在Ember-CLI模块上运行的。
它没有工作,但比再次不确定,如果我只是配置错误的东西。
另外,在新的Angular项目中组织样式的最佳方法是什么?如果能将sass文件与组件放在同一个文件夹中就太好了。
我是Angular的新手,来自Ember社区。尝试使用新的基于Ember-CLI的Angular-CLI。
我需要知道在一个新的Angular项目中处理SASS的最佳方法。我尝试使用Ember-CLI -sass回购,看看它是否能正常运行,因为Angular-CLI的许多核心组件都是在Ember-CLI模块上运行的。
它没有工作,但比再次不确定,如果我只是配置错误的东西。
另外,在新的Angular项目中组织样式的最佳方法是什么?如果能将sass文件与组件放在同一个文件夹中就太好了。
当前回答
步骤1。使用npm安装bulma包
npm install --save bulma
步骤2。开放的角。Json和更新以下代码
...
"styles": [
"node_modules/bulma/css/bulma.css",
"src/styles.scss"
],
...
就是这样。
为了方便地公开Bulma的工具,将stylePreprocessorOptions添加到angular.json中。
...
"styles": [
"src/styles.scss",
"node_modules/bulma/css/bulma.css"
],
"stylePreprocessorOptions": {
"includePaths": [
"node_modules",
"node_modules/bulma/sass/utilities"
]
},
...
查找 + 角度 6
其他回答
下面的代码应该在angular CLI 6项目中工作。例如,如果你得到:
Get /set已弃用,改用config命令。
npm install node-sass --save-dev
然后(确保您更改了项目名称)
ng config projects.YourPorjectName.schematics.@schematics/angular:component.styleext sass
要获得默认项目名,请使用:
ng config defaultProject
然而: 如果你把你的项目从<6迁移到angular 6,很有可能配置不会在那里。在这种情况下,你可能会得到:
无效的JSON字符:“s”在0:0
因此需要手动编辑angular。Json是必需的。
你会希望它看起来像这样(注意styleex属性):
...
"projects": {
"Sassy": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"prefix": "app",
"schematics": {
"@schematics/angular:component": {
"styleext": "scss"
}
}
...
对我来说,这似乎是一个过于复杂的模式。¯_()_/¯
你现在必须去改变你所有的css/less文件为scss和更新组件等任何引用,但你应该很好去。
我注意到在移动到scss文件时一个非常烦人的陷阱!!在app.component.ts中,必须从简单的:styleUrls: [' app.ponent .scss']转移到styleUrls: ['./ app.ponent .scss'] (add ./)
ng在生成新项目时这样做,但在创建默认项目时似乎不这样做。如果在ng构建过程中看到resolve错误,请检查此问题。我只花了1个小时。
引用自官方github回购这里-
以安装为例 NPM安装node-sass 将项目中的.css文件重命名为.scss或.sass。它们将被自动编译。 Angular2App的options参数有sassCompiler、lessCompiler、stylusCompiler和compassCompiler选项,它们直接传递给各自的CSS预处理器。
在这里看到的
https://github.com/angular/angular-cli/wiki/stories-css-preprocessors
告诉angular-cli默认总是使用scss
为了避免每次生成项目时都传递——style scss,你可能想要全局调整angular-cli的默认配置,使用以下命令:
ng set --global defaults.styleExt scss
请注意,某些版本的angular-cli包含读取上述全局标志的错误(见链接)。如果你的版本包含这个错误,生成你的项目:
ng new some_project_name --style=scss
对于Angular 12,更新Angular。json:
"schematics": {
"@schematics/angular:component": {
"style": "scss"
}
}
and:
"build": {
"options": {
...
"inlineStyleLanguage": "scss"
}
}
"test": {
"options": {
...
"inlineStyleLanguage": "scss"
}
}