浅易脚手架搭建

写在最前面

跟着公司营业的生长,自力的体系也逐步多了起来,脚手架的必要性也日益显著。

基于此,便最先搭起了脚手架,重要处置惩罚两个题目:

  • 1.项目的重复设置
  • 2.大众组件的自动更新

代码地点点这里,能够照着代码再去看这篇文章会以为更有思绪一点

运用

1.全局按装


npm install zn-cli -g

2.建立实例


zn-cli init [templateType] [projectName]

ps:

templateType: 模板范例(临时支撑Vue和react的规范模板,后期会连续支撑背景版本,类似于antdPro)

projectName: 你须要建立的项目实例称号

3.更新脚手架中的大众文件

在你的项目实例中实行:


npm run update

安全性:起首,这个操纵是不会掩盖你的营业代码,只会去更新根目次下public文件夹里的文件

可选性:每一个版本更新的大众文件都邑在脚手架的文档中申明,你能够挑选你须要的功用对应的版本(后续再讲)

代码

1.分支

master:脚手架代码,全局装置的就是这个玩意,用来拉去对应模板天生react/vue实例的,经由过程npm装置运用

template分支:分支名template开首的都是模板分支。我这里就不一一列举了,由于分支会连续的增加,脚手架里都邑申明

test分支:测试分支,用来测试一些功用或许模板用的(可疏忽)

2.脚手架完成

中心代码是在bin目次里,index.js为进口,点开index,能够看到,重如果对node版本做了推断,然后底部引入了cli.js,在看这些代码之前,起首得闲肯定你是对以下几个node包是相识的:

  • commander:处置惩罚用户命令行输入
  • download:clone git长途堆栈代码

其他有一些包是辅佐类的,比方chalk,ora等,不相识也没紧要。

先看代码:

《浅易脚手架搭建》

大抵流程:

  • 1.猎取用户输入
  • 2.依据用户输入推断是须要什么模板,下载对应模板到用户输入的项目目次中
  • 3.模板下载完成后,挪用_cli下面的_reWritePackageJson要领,去变动实例中package.json中的一些设置
  • 4.log内里的东西是一些提醒性信息

基础脚手架就是这个流程,依据用户输入去拉去对应的模板代码到指定的目次。

能够你注意到在模板下载完成时我实行了一个历程:


spawn('rm', ['-rf', `${name}/build.js`]);

删除建立的项目中的build.js文件,为何,由于这个js是用来更新模板,就像上面我说到的实行npm run update的时刻就是经由过程这个js去做处置惩罚的。明显,他应当只存在于脚手架的模板中,而不应当出如今用户的项目实例中。关于用户而言,它是无用的。

总结

以上就是一个简朴脚手架的完成体式格局,后期也会一直去更新和保护这个脚手架,公司如今新的项目就是基于这个脚手架去搭建的,由于公司如今的项目都是react写的,所以Vue的功用临时不支撑,后期也会逐步支撑vue…

    原文作者:songtao
    原文地址: https://segmentfault.com/a/1190000018504703
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞