全新的的angular@^6項目有全新的配置文件angular.json,@<6版本的配置文件爲angular-cli.json,其結構已經發生很大的變化,下面是基於angular@^6版本sass改less,並經過less變量自定義ng-zorro的主題的方法和碰到的一些less問題
修改angular.json文件 schematics.@schematics/angular:component.styleext = less
javascript
"schematics": { "@schematics/angular:component": { ...... "styleext": "less" }, }
修改angular.json文件architect
下面的builder中的指定項目構建時導入的樣式文件改成你自定義的less文件java
"styles": [ "src/styles/styles.less" ],
相應的文件,小夥伴先注意styles.less這個文件,styles.var.less這兩個文件和其餘文件夾後面一一說一下node
下面是新自定義的styles.less文件webpack
@import "../../node_modules/ng-zorro-antd/src/ng-zorro-antd.less"; //引入ng-zorro的樣式 @import './styles.var.less'; //自定義的less變量和覆蓋ng-zorro的官方變量 @import "......"; //進入其餘樣式,這些樣式能夠根據業務細分建成相應的文件夾和文件,如圖
這時候運行項目會包以下錯誤,大致是 bezierEasingMixin()
函數很差使 javascript被禁用,解決方法,在node_modules\@angular-devkit\build-angular\src\angular-cli-files\models\webpack-configs\styles.js
line 136和142行(因爲版本不同文件的位置也不同),lessPathOptions
這個對象,加入屬性lessPathOptions.javascriptEnabled = true
web
let lessPathOptions = { paths: [], javascriptEnabled: true}; if (......); lessPathOptions = { paths: includePaths, javascriptEnabled: true }; }
如今項目就能完美運行了,接下來就能夠按照ng-zorro的官方教程作自定義樣式和字體本地化了json
👍👍👍👍👍若是能幫助到小夥伴的話歡迎點個贊👍👍👍👍👍
👍👍👍👍👍若是能幫助到小夥伴的話歡迎點個贊👍👍👍👍👍sass