文章目录
一、分析步骤
1. 全局安装并使用
npm install @vitejs/create-app -g
执行 create-app yourProjectName
就可以开始选择相关配置,直至最后生成一个项目了
2. 追踪源码
进入本地node的全局文件夹 node_global\node_modules\@vitejs\create-app\index.js
里面干了什么?看最后一句
require('create-vite')
require会首先查看当前的node_modules文件夹下有没有create-vite相关文件或文件夹,当前是有,进入create-vite\index.js文件,
看他做了哪些:
1. 分解参数
2. 发出prompt提示框,让用户选择语言和模板,在用户选择结果中拿到
const { framework, overwrite, packageName, variant } = result
3. 创建/清空并创建目录和文件
4. 根据用户选定的template名称,把当前文件夹下的选定模板文件夹的内容(除package.json外,步骤5处理)复制/写入到用户指定路径
从本地最终生成的项目结构看是一致的
5. 读步骤4中模板目录中的package.json内容,修改name属性为当前用户设定的项目名packageName,并写入到用户项目的package.json文件中
总结
根据用户选择,匹配相应模板文件夹,复制到用户项目目录