Angular6下使用ng-zorro-antd框架的坑

最近因为需要开发一个前后端分离的应用,一看angular6出来了,就立马想要用用看,所以立马确立了angular6+ng-zorro-antd的前端,但是在使用中发现,我没法引入相应的样式,看我的引入没有任何问题,通过1个多小时的查找资料,百度,分析,找出了这个坑。如下,现在项目也完成了也就来记录一下,希望有跟我一样问题的小伙伴可以免去一些麻烦。

公司主营业务:网站设计制作、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出全南免费做网站回馈大家。

https://github.com/angular/angular-cli/issues/10430

上面的链接是讲angular-cli 6.0的一些问题,包括了我这个问题,内容可以进入查看,便于理解。

1.angular6改变
        .angular-cli.json 变成 angular.json
        若干由根目录文件转移至 src 目录中

        ./karma.js 放入 src
        package.json 的 browserslist 节点转换成 ./src/browserslist 文件形式

        e2e 目录变化
        ./protractor.conf.js 放入 e2e
        e2e 目录增加 src 目录且将文件转移至该目录中,且注意相关路径
        目录文件结构变化并不是很大,也很好理解,可以自行对照。或者去查看angular6的版本说明。

2.ng-zorro是否支持angular6?
    http://ng.ant.design/docs/introduce/zh
    查看最新版本说明,是支持angular^6.0.0。

3.如何解决该问题
        a.如果不需要定制主题
            直接把angular.json文件中添加zorro的样式文件如下代码:
            "styles": ["node_modules/ng-zorro-antd/src/ng-zorro-antd.min.css"]

        b.如果需要定制主题
            因为受限与https://github.com/angular/angular-cli/issues/10430的问题
            所以我们必须将less降级
            #npm i --save less@~2.7.0

            当依然遇到无法找到 ng-zorro-antd.less 文件时,相当程度是 less 路径因素,
            主要包括:
                                使用 cnpm 安装依赖包,其软链接破坏了实质的包路径,使用 npm 或 yarn。
                                ~@ng-zorro-antd 替换成 node_modules/ng-zorro-antd。

    备注:在确定好一个项目搭建框架之前,先要做好调研工作,不能一味追求最新版本,这样成本会很大的,如果问题越早发现了还好,能够及时的评估和解决,若是做到中途或者后面快结束发现就会很蛋疼。

本文名称:Angular6下使用ng-zorro-antd框架的坑
标题URL:http://scyanting.com/article/gippoh.html