mac 安装nodejs_阿里开源——用于前端和nodejs的轻量级任务管理和构建工具Dawn

介绍

Dawn 取「黎明、破晓」之意,原为「阿里云·业务运营团队」内部的前端构建和工程化工具,现已完全开源。它通过 pipeline 和 middleware 将开发过程抽象为相对固定的阶段和有限的操作,简化并统一了开发人员的日常构建与开发相关的工作。


093824076e4e9207a4fee49709cd0c50.png

Github和文档

https://github.com/alibaba/dawn

https://alibaba.github.io/dawn/docs/

有哪些特点?

采用中间件技术,封装常用功能,易于扩展,方便重用支持 pipeline 让多个 task 协同完成构建任务简单、一致的命令行接口,易于开发人员使用支持基于「中心服务」管理中间件和工程模板支持搭建私有中心服务,并统一下发构建规则,易于团队统一管理

安装和更新

依赖的环境、软件及其版本:

  • Node.js v7.6.0 及以上版本
  • Mac/Linux (Windows 基本支持未经严格测试)

安装或更新 Dawn:

$ [sudo] npm install dawn -g

国内可以使用 cnpm 加速安装

初始化工程

$ dn init [template] [options]

示例:

$ dn init ? Found 4 templates (Use arrow keys)❯ 1. front      : Blank front end project template  2. node       : Blank node project template  3. middleware : Dawn middleware project template  4. react      : Based on react-scripts, like create-react-app

选择一个工程类型,回车即可按向导初始化一个工程,还可以通过 -t 或 --template 直接按指定的模板名称,直接初始化工程。

比如,通过名为 front 的模板,初始化一个工程

$ dn init -t front

启动开发服务

$ dn dev 

如果是一个「前端」工程通常会启动构建进程并监听文件的变化,通常,还会启动一个 Web Server,并自动打开浏览器。

执行检查和测试

$ dn test

在执行 test 的时候会先进行「语法检查」(通过 eslint),然后执行「单元测试」和「E2E 测试」。

构建工程

$ 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

总结

Dawn是一个用于前端和nodejs的轻量级任务管理和构建工具。以上只是简单介绍和入门,详细的文档可以查看文中给出的文档地址!

e2b5c21792463bd3e5d944b2281908b4.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465575.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为pap和chap的配置。

PAP 验证举例 1. 组网需求 如图1-2所示,路由器Quidway1 和Quidway2 之间用接口Serial3/0/0 互连,要求路 由器Quidway1 用PAP方式验证路由器Quidway2。 3. 配置步骤 (1) 配置路由器Quidway1: [Quidway]aaa [Quidway-aaa]local-user quidway2 p…

Linux C简单的web服务器

Linux C简单的web服务器 目录 Linux C简单的web服务器 一、基础类型重命名 二、包裹函数(wrap.h/wrap.c 主要是网络通讯和多线程的包裹函数) 三、服务端程序(web_server.h/web_server.c)—— 使用EPOLL高并发机制 四、HTTP解…

大学城美好生活组图

离开学校一段时间了,但这里还有很好的回忆................... 以下是广州大学城分享的点点滴滴,享受一下生活吧......................... 广州大学城,位于广州番禺区珠江出海口的江心岛上,与享誉中西方国家的、培育了大批国、共…

什么是音色?

要问最近最火的节目是什么?《浪姐》绝对可以冲击C位。要问最近最火的剧是哪部?有全中国小学生最近都怕的张东升老师那部前三甲无疑。要问最近最火的歌是哪首?《Mojito》或许是唯一的答案。这首极具拉丁风格的歌让周董再一次回答了“谁是周杰伦…

爱了雷布斯

本来今天想写个NTP的文章,但是因为小米昨天的这个操作一直想夸一下,所以写写雷布斯,吹吹雷布斯。我是米粉,肯定是米粉,前段时间还有读者来问我,现在能不能入手小米的股票,这个我不敢给建议&…

运行地址与加载地址估计大部分人没弄明白~

本文为【单片机步入嵌入式Linux】系列文章的第二篇,主要是跟大家讲解一下链接过程中几个地址的区分与理解~1 单片机存储分配在玩单片机(以stm32为例)的时候会有RAM空间和ROM空间,RAM空间主要是用于数据的访问,而ROM空间用于存放烧录的固件&am…

我妈在深圳的这些日子

今天送了我丈母娘回家,平时在家里,我会叫妈。下面文章中写到的我爸、我妈、指的是我老丈人和丈母娘。上个周末,我跟我妈说,谢谢你过来帮忙我们照顾楠哥,辛苦你了。我说了两遍,可能她听的不是很清楚&#xf…

【腾讯面试题】兔子试毒

大家好,我是牛牛,经过了忙碌的一周,终于盼来了周五。今天给大家分享一道有趣有料的算法题,希望能让大家开启周末的好心情。01故事起源有1000瓶药水,其中有一瓶是毒药,只要喝上一滴,一天之后就必…

分享一个剪切板的小软件CopyQ

我是最近在工作的时候经常需要复制一些命令,而且这些命令如果用手敲的话会超级麻烦,所以体验了几个剪切板的小软件,这个是我体验之后觉得最不错的一个,分享给大家。软件链接地址https://github.com/hluk/CopyQ/releases软件图标我…

GridView自定义分页

有时候的只是需要一些简单的但却是自定义的分页功能,但是又舍不得objectdatasource的排序功能,那就只有把pageddatasoure和objectdatasour结合起来, 由于pageddatasource实现的是IEnumberable,直接把objectdatasource赋给它是不行…

在朋友圈求助的NTP问题~

之前朋友圈求助的问题最后是我一个朋友尝试了一天的配置「这个配置尝试的过程需要技术基础,但是不管如何的技术基础都是需要去不断的尝试的」,终于找到了方法,所以~我给他们送了秋天的第一杯奶茶~「是他们是因为他们都是一群我很喜欢的同事」…

聊聊身边的嵌入式,英语学习利器点读笔

家里有小孩的朋友,可能对下面的这款产品不陌生。点读笔,一个会发声的电子产品,我当时为了给孩子做英语启蒙,买了小达人点读笔(上图最下方那个,另外两个分别是宝玩英语和巧虎配套的点读笔),用了好几年了&…

EasyUI_datagrid

案例一丶jquery.easyui.min.js:10631 Uncaught TypeError: this.renderEmptyRow is not a function 解决方法:datagrid记录为空就会报错。是easyui里没处理return 空的方法。需要进行添加一些东西。具体我也不清楚, 案例二丶清除datagrid右侧空白区域 查…

三枚硬币自制收音机

大家好,我是记得诚。我们称这个收音机为三个硬币收音机是因为我们使用了三个硬币作为锚点,连接收音机各个部件,这将使我们的制作过程变得极为简单。在这个收音机中我们使用了一个特殊的10晶体管集成电路,使最后做出的收音机效果非…

双重检查锁实现单例模式的线程安全问题

一、结论 双重校验锁的单例模式代码如下: public class Singleton {   private static Singleton singleton; private Singleton() {} public static Singleton getSingleton() {     if (singleton null) { // 1       synchronized (Singleton.clas…

摇杆控制方向原理_为工业安全守好”门”!各种方向的控制阀原理图大集合

单向的、换向的....你想了解的方向控制阀都在这里了!方向控制阀门液压阀是用来控制液压系统中油液的流动方向或调节其流量和压力的。方向控制阀作为液压阀的一种,利用流道的更换控制着油液的流动方向。单向型方向控制阀是只允许气流沿一个方向流动的方向…

对于新生代农民工,你有什么想说的?

昨晚上这个新闻很多人转,但是可能很少有人知道他的链接出处,链接来自于http://www.mohrss.gov.cn/SYrlzyhshbzb/jiuye/gzdt/202108/t20210816_420736.html我记得我还在上小学的时候,我们家有干不完的农活,暑假每天都要下田干活&am…

谁是经营之神

—北京维富友携手北京服装学院开展服装ERP沙盘大赛时间4月21日,地点北京服装学院,参加人数35人,参加人员北京维富友软件公司高级讲师、服装学院教师和同学共35人。目的:为了让学生更好的掌握服装企业管理和盈利管控,北…

在Android初次的前期学习中的二个小例子(2)

Hello13:SQLite数据库 一、简述SQLite的概念和主要特性SQLite是一个轻量级的关系型数据库,运算速度快,占用资源少,使用非常方便,支持SQL语法标准和数据库事务原则。相对于SharedPreferences使用文件保存数据,SQLite具有…

access 增加字段 工具_Java效率工具之Lombok

作者:LiWenD正在掘金来源:https://juejin.im/post/5b00517cf265da0ba0636d4b上一篇:数据库查询速度优化之解决技巧还在编写无聊枯燥又难以维护的POJO吗?洁癖者的春天在哪里?请看Lombok!在过往的Java项目中&…