创建脚手架

2021-12-25  本文已影响0人  JerrySi

1.初始化

$ yarn init
$ yarn

2.package.json里面加上 "bin": "cli.js"

#!/usr/bin/env node

// Node CLI应用文件入口文件必须要这样的文件头
// 如果Linux 或者MacOS 系统下还需要把文件的读写权限为755
// 具体就是通过 chmod 755 cli.js 实现修改


// 实现脚手架的工作过程
// 1. 通过命令行交互询问用户问题
// 2. 根据用户回答的结果生成文件

// node中发起命令行交互 我们使用inquirer模块
// yarn add inquirer

const path = require('path')
const inquirer = require('inquirer')
const fs = require('fs')
const ejs = require('ejs')

inquirer.prompt([
    {
        type: 'input',
        name: 'name',
        message: 'Project name'
    }
]).then(anwsers =>{
    console.log(anwsers)

    // 模板目录
    const tmplDir = path.join(__dirname, 'templates')
    // 目标目录
    const destDir = process.cwd()

    fs.readdir(tmplDir, (err, files) => {
        if (err) throw err
        files.forEach(file => {
            console.log(file)

             // 通过模板引擎渲染文件,yarn add ejs
             ejs.renderFile(path.join(tmplDir, file), anwsers, (err, result) => {
                if (err) throw err
                console.log(result)

                // 将模板写入目标路径fs
                fs.writeFileSync(path.join(destDir, file), result)
             })
        })
    })
})
上一篇下一篇

猜你喜欢

热点阅读