node mysql 脚手架_使用Node创建自己的脚手架工具

大部分脚手架应用的原理就是一个node cli应用,通过命令行交互将动态变化的信息提供给用户输入,然后再经过模板引擎将信息填入模板文件,最后写入文件,得到工程初始化的基本文件,本文介绍怎样实现一个简单的脚手架工具

1.初始化

npm init

填入信息后生成package.json,添加一行"bin": "cli.js",然后按照ejs模板格式创建模板文件

fcd227c59412

image.png

2.安装依赖

用户输入模块inquirer

npm install inquirer

模板引擎模块ejs

npm install ejs

3.创建cli.js文件

修改文件权限

chmod 755 cli.js

生成器代码

#!/usr/bin/env node

const fs = require('fs')

const inquirer = require('inquirer')

const path = require('path')

const ejs = require('ejs')

inquirer.prompt([{

type: 'input',

name: 'name', // 名称

message: 'project name'

},{

type: 'input',

name: 'author', // 作者

message: 'author name'

},{

type: 'input',

name: 'email', // email

message: 'email'

}]).then(answer => {

this.answer = answer

console.log(answer)

// 目录

const tempDir = path.join(__dirname, 'templates')

const destDir = process.cwd()

// 读取templates目录下面的文件

fs.readdir(tempDir, (err, files) => {

if (err) throw err

// 写入文件

files.forEach(file => {

ejs.renderFile(path.join(tempDir, file), this.answer, (err, result) => {

if (err) {

console.log(err)

} else {

console.log('create ' + file)

}

fs.writeFileSync(path.join(destDir, file), result)

})

})

})

})

4.链接到全局

npm link

5.使用

mkdir node-cli-test && cd node-cli-test && node-cli

bingwudeMacBook-Pro:Generators bingwu$ mkdir node-cli-test && cd node-cli-test && node-cli

? project name node-cli-test

? author name bing

? email 123@163.com

{ name: 'node-cli-test', author: 'bing', email: '123@163.com' }

create index.html

create index.js

create readme.txt

create style.css

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值