前端脚手架初始化一个项目的目录结构和里面的代码,是如何实现的?

2022-07-13 16:50:25 +08:00
 Yukee798

最近在开发一个前端 CLI 工具,请问一下类似 create-react-app 、vite 这些脚手架工具,在初始化一个项目时,生成的初始目录结构,以及这些文件内的代码,是如何更方便的实现的?

2120 次点击
所在节点    JavaScript
11 条回复
ifdef
2022-07-13 16:53:08 +08:00
yhxx
2022-07-13 17:01:39 +08:00
create-react-app 是从指定的模板直接复制过来的
laolaowang
2022-07-13 17:14:06 +08:00
见过的大部分项目貌似是固定的模板
dudubaba
2022-07-13 17:21:42 +08:00
就是个下载的过程:模板放在 git 仓库里,当使用 inquirer 这种交互选择模板后,从 git 仓库中 download 模板到本地
draco95
2022-07-13 17:27:31 +08:00
这边建议直接用 @angular-devkit/schematics
caisanli
2022-07-13 18:08:27 +08:00
创建一个模版仓库 初始化项目的时候用 git-clone 拉取这个模版仓库的代码
connection
2022-07-13 19:47:36 +08:00
一般是 模版 + 变量 => 生成项目
zhuweiyou
2022-07-13 19:50:36 +08:00
专门搞个仓库放模版,里面用模版语法, 然后加上你 cli 选的变量, 生成出来文件就行了.
humbass
2022-07-13 20:54:07 +08:00
最简单:事先放几个自己定义的模板类型,根据交互选择,后台 git 回来 copy 到指定位置不就行了
复杂点:copy 完毕后,用 fs 来修改

高兴的话,还可以调用 process_child 帮用户把 npm install 都执行了。
Al0rid4l
2022-07-13 22:03:13 +08:00
复制文件, 模板引擎填充变量...
296727
2022-07-14 09:22:53 +08:00
就是 cv

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/865942

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX