项移背景
公司项目众多,后台管理项目涉及几十项,移动端项目涉及有七八个。这些项目的目录结构各有千秋,充满着时代的痕迹,最近公司又要新开几个新cms项目,项目的目录结构如何确定(具体抄哪个项目成了大家讨论的话题)。为了利用好众人智慧的结晶,利用vite对项目结构进行较为统一的制定。
终端输入 npm create hteacher@latest 尝试
项目实施步骤
命令的确定
脚手架项目命令沿用vite 使用npm create xxxx 创建(为什么现在不用npx了?)。npm create 是npm init的别名,npm init foo@latest # 从注册表中获取并运行最新的 create-foo 。 所以包的名称就确定为 create-xxxx 。
打包工具
项目打包工具采用 esbuild
项目的具体实施
本来想的是修改vite代码然后发布,想了想,vite更新太快(但是项目模板template)更新的不是很频繁,那就愉快的决定采用 个性化定制+vite 的模式对自己的项目进行规范吧。
输入 npm create hteacher@latest(这个是我发到线上的demo,只起展示作用,需要人员请根据公司实际自行发npm)。
- 使用prompts进行 交互提示,本项目只对vue进行了示例,其他框架同理。
- 核心代码,使用spawn.sync 同步地生成一个新进程,让该进程执行npm create vue@latest 命令,创建vue官网推荐的项目结构。创建完成后再执行 npm create hteacher@latest --targerDir --hteacherInit 。代码会判断 如果带有hteacherInit 参数,就会执行自定义命令,复制自己的模板文件到项目中。
模板文件就是仁者见仁,智者见智的地方了。需要公司内部人员讨论出一个通用,合理的项目结构。
最后:
- 项目细致代码我就不讲了,感兴趣的同学可以看下源码,非常之简单。
- 本文所提代码均为示例代码,请不要直接使用,理解后请创建自己团队的项目。