前端工程化-脚手架

152 阅读2分钟

脚手架是指可以自动化创建项目基础结构、提供项目规定和规范的工具

除了自动化创建一些文件外,脚手架最大的作用是提供给开发者项目结构的规范和约定

项目当中一些相同的约定:

  • 相同的项目组织结构
  • 相同的代码开发范式
  • 相同的模块依赖
  • 相同的工具配置
  • 相同的基础代码

这样就会在新建项目当中有相当一些重复的工作要做,这时脚手架可以快速完成某种特定类型项目的搭建,在这个搭建项目的规范中进行后续代码的开发

前端的技术方向比较多,没有一个IDE工具集成了脚手架,但有许多的脚手架工具可以来创建项目,这些脚手架工具都是针对某一种技术,本质上脚手架工具都是为了快速搭建一个项目

一个脚手架例子

脚手架工具是通过接受用户的一些输入,然后产生对应的某一种类型的项目基础结构,可以通过node来创建一个简单脚手架工具

脚手架工作流程

通过命令行交互询问用户问题

根据用户回答结果生成文件

读取模板文件,利用模板引擎把用户的输入替换到文件中,再将文件输出到指定目录

1、初始化一个package.json,在package.json中添加一个bin属性指定cli文件的名称,新建一个cli.js文件,文件头部声明是一个node cli应用入口  #!/usr/bin/env node

2、通过npm link 方式link到全局命令后,就可以用这个命令(对应package.json的name)

3、用inquirer的prompt询问用户问题,接收用户的输入

4、fs读取模板文件目录,循环文件,利用ejs模板引擎把用户输入替换模板文件的对应位置

5、再把替换后的文件输出到目标目录