angular@^6項目sass改less,修復ng-zorro升級@^1.1.0版本,定義主題中出現的less bug

全新的的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

clipboard.png

下面是新自定義的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 = trueweb

let lessPathOptions = { paths: [], javascriptEnabled: true};
    if (......);
        lessPathOptions = {
            paths: includePaths,
            javascriptEnabled: true
        };
    }

如今項目就能完美運行了,接下來就能夠按照ng-zorro的官方教程作自定義樣式和字體本地化了json

👍👍👍👍👍若是能幫助到小夥伴的話歡迎點個贊👍👍👍👍👍
👍👍👍👍👍若是能幫助到小夥伴的話歡迎點個贊👍👍👍👍👍sass

相關文章
相關標籤/搜索