在我最近的文章中你可能已经看到了这个名字,叫componer的前端工具。之所以写这个工具,是我在morningstar工作的半年中,深切的体会到公司package-component-framework这样的开发模式。component将会是未来前端产品开发中的重头戏,将公司开发中的经验,以及我自己的一些思想结合起来,经过几个月的开发,终于完成componer的写作,现在终于可以对外发布。
componer是什么
简单的说,它是一个命令行的脚手架工具,基于node、npm、bower和gulp,在命令行中,使用componer命令可以实现add、build、preview、test等操作,而且基于gulp,所有工作流完全可定制,开发者可以根据自己的需要,对gulp中的控制程序做自己的修改。
componer组要是解决componet的问题。那么component的问题是什么呢?component本身其实是一个不能发挥价值的部分,只有将众多的component组合在一起,才能发挥其功能,实现产品的需求。那么问题就来了,单独的component代码应该怎样存在?它能独立运行吗?应该遵循什么规则提供对外的接口?这些问题我在《前端包管理器争端,只不过是构建工具的牙缝菜》一文中都有思考,这里就不赘述。
安装componer
componer是一个命令行工具,基于node、npm,所以只能在命令行中使用,安装非常简单:
npm install -g componer
在命令行中执行上面命令,就可以安装componer,安装之后就可以使用componer
命令查看帮助信息。
使用componer
使用componer相当于接受componer提倡的component理念。作为工具,它分为两个部分,一部分是cli,另一部分是作为项目运行时的处理文件(gulp)。命令行命令是通过cli部分实现的,它是基于npm的script功能,可以全局安装成命令行工具。而项目文件被放在项目运行时目录中,全部都可以让开发者自己修改。
首先是创建和初始化项目:
mkdir my-project && cd my-projectcomponer init -i
然后添加一个componout:
componer add my-bower -t bower
接着构建
componer build my-bower
如果希望边写代码边build,可以执行
componer watch my-bower
这样每次修改并保存文件的时候,就会执行一次build任务。也可以预览当前正在开发的componout:
componer preview my-bower
完成开发之后,还可以进行单元测试:
componer test my-bower
上面的这些命令是开发过程中最常用的命令。每一个命令都在componer的README中有说明。
项目开发
在上面提到的项目目录中,初始化的文件都是运行时需要的文件,它们包含了componer默认的所有处理规则或模板,开发者可以针对这个项目的特点进行修改。
componouts目录下放置着所有开发的对象。这些componout的模板在gulp/templates目录下,你可以修改这些模板,在执行componer add
任务时,通过添加-t参数来选择要使用哪个template。componout有三种类型,npm、bower、default,分别对应package、component、application。也就是说,用componer可以完成从package这种粒度到application这种粒度的build。当然,这还是要取决于遵循怎样的打包规则,这也可以由开发者通过修改gulp任务来改变。
问题反馈
如果你在使用过程中有什么不懂的地方,或者有bug需要反馈,可以在GitHub提交issue。
2017-01-30 5351 componer