资讯详情

使用esbuild创建自己的cli-总结

1. ejs渲染

**ejs**

import ejx from 'ejs' const indexTemplate = fs.readFileSync(       path.resolve(__direname, '../template/index.ejs')   )  const code = ejx.render(indexTemplate.toString(), { 
            // ... }) 

2. 绝对路径

**esbuild****__dirname**

import { 
         fileURLToPath } from 'url' import path from 'path'  const __direname = fileURLToPath(import.meta.url)  const indexTemplate = fs.readFileSync(     path.resolve(__direname, '../template/index.ejs') ) 

3 格式化的模块化引擎

import prettier from 'prettier' prettier.format(code, { 
         parser: 'babel' }) 

4. 终端交互输入

**inquirer**

import inquirer from 'inquirer' await inquirer.prompt([    { 
             type: 'input',     name: 'port',     default: () =&t; 8080,
    message: 'set port number'
  },
  { 
        
    type: 'input',
    name: 'packageName',
    message: 'set package name',
    validate (val) { 
        
      if (val) return true
      return 'Please input packName'
    }
  },
    { 
        
    type: 'checkbox',
    name: 'middleware',
    choices: [
      { 
         name: 'koaStatic' },
      { 
         name: 'koaRouter' },
    ]
  }
])

5. 安装依赖

**yarn**

import { 
         execa } from 'execa'
execa('yarn', { 
        
    cwd: getRootPath(), // 安装依赖到哪个文件夹下
    stdio: [2, 2, 2], // 出现安装的进度
})

6. 执行进程

**chalk**

import chalk from 'chalk'

console.log(chalk.blue()) // 这样就能打出蓝色的字体

标签: ejx115a流量变送器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台