Angular項(xiàng)目中使用scss文件的一些技巧小結(jié)
使用 Angular CLI 新建一個(gè) Angular 項(xiàng)目:
ng new my-sassy-app --style=scss
創(chuàng)建如下的 scss 文件:
styles.scss 是我們使用的主要 scss 文件,里面導(dǎo)入了以下劃線開頭的 _variables.scss 和 _mixins.scss:
// src/sass/styles.scss @import './variables'; @import './mixins';
最后在 angular.json 里指定這個(gè) styles.scss 文件即可:
"styles": [ "sass/styles.scss" ],
現(xiàn)在我們有了新的 _variables.scss 和 _mixins.scss 文件,我們希望在我們其他的 Angular Component 中使用它們。在其他項(xiàng)目中,您可能習(xí)慣于在任意位置訪問這些 scss 文件里定義的 Sass 變量。
在 Angular CLI 中,所有組件都是自包含的,它們的 Sass 文件也是如此。 為了在組件的 Sass 文件中使用 _variables.scss 中定義的變量,您需要導(dǎo)入 _variables.scss 文件。
一種方法是使用組件的相對路徑 @import,比如 ../../ 這種寫法。如果您有許多嵌套文件夾或最終需要移動(dòng)這些 scss 文件,這或許不是一個(gè)好辦法——可讀性差,并且容易出錯(cuò)。
一個(gè)好辦法是使用 alias 別名語法,用特殊符號(hào)波浪號(hào)代表:~. 在英語里 ~ 的單詞是 tilde.
// src/app/app.component.scss @import '~sass/variables'; // now we can use those variables!
波浪號(hào) (~) 將告訴 Sass 查看 src/ 文件夾,它是導(dǎo)入 Sass 文件的快捷方式(short cut).
Angular 項(xiàng)目中導(dǎo)入 node_modules 文件夾下文件的一些技巧
我們通過一個(gè)實(shí)際的例子來講解。假設(shè)我們引入了一個(gè)依賴 `bootstrap-sass:
npm install bootstrap-sass --save
這個(gè) npm 包具有一些 scss 文件:
我們可以更新 angular.json, 引入 node_modules 文件夾:
{ ... "apps": [{ "root": "src", ... "stylePreprocessorOptions": { "includePaths": [ ".", "./stylings", "../node_modules/bootstrap-sass/assets/stylesheets" ] } }] }
然后,在 Component 的 style 文件里,就可以使用相對路徑,來導(dǎo)入這些 node_modules 文件夾下的 scss 文件:
// hello.component.scss @import "variables"; @import "stylings2/variables"; @impoer "bootstrap/variables"; h1 { color: $brand-color; font-size: $font-size-large; font-family: $font-family-serif; }
附:angular5 配置使用sass
1、利用npm工具安裝sass依賴和loader
cnpm/npm install node-sass --save-dev cnpm/npm install sass-loader --save-dev
2、修改.angular-cli.json文件
"styles": [ "styles.scss" ], "defaults":{ "styleExt": "scss", "component": {} }
3、將項(xiàng)目中的styel.css改成 style.scss
4、新建的component項(xiàng)目會(huì)直接生成.scss文件
總結(jié)
到此這篇關(guān)于Angular項(xiàng)目中使用scss文件的一些技巧的文章就介紹到這了,更多相關(guān)Angular使用scss文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用 Angular RouteReuseStrategy 緩存(路由)組件的實(shí)例代碼
這篇文章主要介紹了使用 Angular RouteReuseStrategy 緩存(路由)組件的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11AngularJS學(xué)習(xí)筆記(三)數(shù)據(jù)雙向綁定的簡單實(shí)例
這篇文章主要介紹了AngularJS學(xué)習(xí)筆記(三)數(shù)據(jù)雙向綁定的簡單實(shí)例,詳解數(shù)據(jù)雙向綁定實(shí)例的相關(guān)資料,需要的朋友可以參考下。2016-11-11詳解AngularJS如何實(shí)現(xiàn)跨域請求
跨域請求一直是網(wǎng)頁編程中的一個(gè)難題,在過去,絕大多數(shù)人都傾向于使用JSONP來解決這一問題。不過現(xiàn)在,我們可以考慮一下W3C中一項(xiàng)新的特性——CORS(Cross-Origin Resource Sharing)了。2016-08-08AngularJS自定義指令實(shí)現(xiàn)面包屑功能完整實(shí)例
這篇文章主要介紹了AngularJS自定義指令實(shí)現(xiàn)面包屑功能,結(jié)合完整實(shí)例形式分析了AngularJS自定義指令的定義、調(diào)用及面包屑功能的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-05-05利用Angular2 + Ionic3開發(fā)IOS應(yīng)用實(shí)例教程
這篇文章主要給大家介紹了關(guān)于利用Angular2 + Ionic3開發(fā)IOS應(yīng)用的相關(guān)資料,文中通過示例代碼和圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01