Dawn开源项目
今天本人给大家推荐一个阿里开源的前端构建和工程化工具Dawn。
一、 Dawn是什么?
Dawn 取「黎明、破晓」之意,原为「阿里云·业务运营团队」内部的前端构建和工程化工具,现已完全开源。它通过 pipeline
和 middleware
将开发过程抽象为相对固定的阶段和有限的操作,简化并统一了开发人员的日常构建与开发相关的工作。
二、 它具有什么特点?
特点如下:
(1)采用中间件技术,封装常用功能,易于扩展,方便重用;
(2)支持 pipeline 让多个 task 协同完成构建任务;
(3)简单、一致的命令行接口,易于开发人员使用;
(4)支持基于「中心服务」管理中间件和工程模板;
(5)支持搭建私有中心服务,并统一下发构建规则,易于团队统一管理;
三、 安装
本地或者Linux上安装node.js的前提下且版本大于或等于7.6.0
npm install dawn -g
国内的npm很慢,建议可以使用cnpm,安装流程如下:
npm install -g cnpm --registry=https://registry.npm.taobao.org #安装淘宝镜像
cnpm -v #安装成功会显示对应的版本号
四、 初始化工程
dn init
五、 启动开发服务
dn dev
控制台正常输出的结果如下:
自动打开
后台管理界面:
六、 执行检查和测试
dn test
控制台正常输出,如下:
七、 构建工程
dn build
正常输出,如下:
执行构建任务,不同的工程类型的构建过程和结果可能不同,取决于初始化工程时使用的工程模板。 完成后,会在当前项目的根目录产生 build 目录,这是构建结果,当然,也可以指定为其它目录名称。
八、 发布工程
dn publish
可以通过 dn publish
命令发布代码和构建结果,不同的工程模板决定了最终发布位置,是否支持 publish
命令取决于选择的「工程模板」。
九、 执行自定义任务
init/dev/build/test/publish 这几个命令可以直接作为「子命令」写在 dn 后边,对于其它名称的 pipeline
需要使用 run
命令
编辑 .dawn/pipe.yml
或 .dawn.yml
demo:
- name: shell
script:
- echo demo
可以通过如下方法执行 demo
dn run demo