admin管理员组文章数量:1794759
手把手教你使用nodejs编写cli(命令行)——拉取远程仓库作为代码模板
为什么要坚持写作?写作就是求甚解的过程。
目录- 步骤
- 实现
- git clone 拉取远程仓库代码
- 修改项目名称
- 重新初始化本地仓库 .git
- 使用 fs + ejs 重新写入部分文件
系列文章
- 手把手教你使用nodejs编写cli(命令行)
- 手把手教你使用nodejs编写cli(命令行)——拉取远程仓库作为代码模板
- 手把手教你使用nodejs编写一个【使用远程仓库模板,快速创建项目模块】的cli(命令行)
上一章手把手教你使用nodejs编写cli(命令行)和大家分享了通过 fs 模块读写ejs 模板的方式创建 CLI 工具, 这一章我们来讲解如何将远程仓库的代码做为 CLI 工具的代码模板。
步骤其实 CLI 工具使用远程仓库代码作为代码模板无非就是以下步骤
1. 拉取远程仓库代码
2. 修改项目名称
3. 重新初始化本地仓库 .git
4. 使用 fs + ejs 重新写入部分文件
实现上一章讲了通过 inquirer 交互式命令行拿到了用户的选择、使用 execa 子进程管理工具来安装依赖、操作git等,我们依旧使用execa管理子进程
const config = await question() // 创建的项目路径 const getProjectPath = () => { return `./${ config.packageName }` } git clone 拉取远程仓库代码 await execa(`git`, ['clone', 'gitee/yanhuakang/my-first-npm-lib.git'], { cwd: './', }) 修改项目名称 await execa(`mv`, ['my-first-npm-lib', config.packageName], { cwd: './', }) 重新初始化本地仓库 .git await execa(`rm`, ['-rf', `${getProjectPath()}/.git`], { cwd: './', }) await execa(`cd`, [config.packageName], { cwd: './', }) await execa(`git`, ['init'], { cwd: './', }) await execa(`git`, ['add', './'], { cwd: getProjectPath(), }) await execa(`git`, ['commit', '-m', 'init'], { cwd: getProjectPath(), }) 使用 fs + ejs 重新写入部分文件如果你想拉取完远程代码仓库后,改变一些远程仓库某些文件的配置,我们需要将对应的代码文件写入到我们的 CLI 项目的 ejs 模板中,然后在拉取完成远端代码后删除原文件后再写入对应的文件即可。
如修改启动 serve 的端口号,详见 手把手教你使用nodejs编写cli(命令行)
import webpackConfig from './template/webpackConfig/index.js' await execa(`rm`, ['-rf', `./${config.packageName}/webpack.config.js`], { cwd: getProjectPath(), }) fs.writeFileSync(`${getProjectPath()}/webpack.config.js`, webpackConfig(config))版权声明:本文标题:手把手教你使用nodejs编写cli(命令行)——拉取远程仓库作为代码模板 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686864772a112007.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论