ng-zorro-antd 0.7.0 发布时我就想说那得喝一杯,这个版本的等待其实在社区里反应是有点“忐忑”,所以当VTHINK跟我说来今天要发布 0.7 时我说那晚上得喝一杯。然而,为了将 ng-alain 也同步 0.7 一个晚上都在忙碌;直到倒头睡觉把喝一杯的事已经忘光了。
当然,今天也算是个不错的日子,ng-alain 也发布了 1.0.0 正式版。
从 0.8 到 1.0 并没有做了很多新的东西,一直以让开发者更加专注于业务的角度做了一些重构、抽离、测试等工作。
Angular6 发布没多久,带来了一些很酷的操作。当然 ng-alain 起点也比较激进,几乎总是第一时间保持 Angular 和 zorro 版本的同步。
在 1.0 里我们是这么开始 ng-alain 的……
如何开发
1、需要一个空 Angular 项目
ng new myapp --style less
2、加点料
ng add ng-alain
更多细节参考命令行工具
是的,没有了,就这么简单。这一切都归于 Angular cli 的开放,早先 ng-alain 就提供一个叫 @delon/cli
的类库,其实二者在做的是同一件事。
当然,还可以做更多很酷的事,例如大部分情况下对中后台的列表都是比较常规的搜索加表格形式,而在 ng-alain 里可以生成一些比较通用列表页:
ng generate ng-alain:list list
# 不介意再来一个编辑和查看页
ng generate ng-alain:edit edit
ng generate ng-alain:view view
恩,好像有点烦,要不这样好了:
ng generate ng-alain:curd order
新类库
@delon/form
ng-alain 最早的使用者们提出了一个蛮有价值的基于 JSON Schema 动态表单库,因此在另外几个人的帮忙下开发了 nz-schema-form,非常仓促的在 angular2-schema-form 基础上引入 zorro 组件库,大体还是蛮好用的,只不过数据流混乱、标准的 JSON Schema 携带非标准的属性。
花了很长的时间重新开发并正式成为 @delon 系列库中的一员:@delon/form,构建一个表单只需这样:
@Component({
selector: 'app-demo',
template: `<sf [schema]="schema" (formSubmit)="submit($event)"
(formChange)="change($event)"></sf>`
})
export class DemoComponent {
schema: SFSchema = {
properties: {
name: {
type: 'string',
},
password: {
type: 'string'
},
},
};
submit(value: {}) { }
}
@delon/util
有一天我们发现 ng-alain 的使用者,出现了些 @delon/abc/src/util/
开头的引入,这些工具集大部分单纯是服务于 @delon/abc
内部组件的,一开始就弱化了这一部分的文档。
于是,把它抽离成:@delon/util,并为此强化了部分函数,比如:字符串类 format
、延迟加载等。
新的开始
ng-alain 会开始放缓基建类库的迭代,而未来将更多的时间去挖掘 ng generate
发挥的能力,它可以让我们完成很多很酷的开发体验。
希望 ng-alain 真正做到【让开发者更加专注于业务】。
今夜一定会去喝一杯!