Home >Web Front-end >JS Tutorial >How to create your own command line tool for node

How to create your own command line tool for node

小云云
小云云Original
2018-03-28 09:10:411313browse

This article mainly introduces you to the tutorial on how to use node to create your own command line tool. It is mainly shared with you in the form of graphic and text code. I hope it can help you.

1. Implement a simple function

##2. Environment

1. System: window 10

2. Editor: vscode
3.node version: 8.7.0

三, Start playing

1. Open the command line and create a new pa'ckage.json


npm init

Then you see a new The package.json is generated, use the editor to open it

2. Modify the package.json and add a bin attribute

##

  {
   "name": "my-cli",
   "version": "1.0.0",
   "description": "",
   "main": "index.js",
   "bin": { // 增加bin属性
     "auto": "./bin/cli.js" 
     // 左边的crp是定义的命令行的名字,可以自己随便取, 右边是命令行输入 crp 时会执行的文件(一定要在bin文件夹下)
   },
   "scripts": {
    
   },
   "keywords": [],
   "author": "",
   "license": "ISC"
  }

3. Create a new cli .js in the current directory, simply modify

console.log('hello world')

4. Then go to the command line and enter

npm link

5 Check the effect



It is successful if hello world is printed correctly


6. Realize the preview effect

The principle is that when executing cli.js, it will read the template you set, then generate a file in the current directory,


Write the content of the template, simple The code is as follows


  #! /usr/bin/env node
  const fs = require('fs')
  const exec = require('child_process').exec
  var args = process.argv.slice(2) // 可以通过process.argv这里获得你输入的参数
  //读取内容(在当前的目录下新建template文件夹和加入一个template.vue的模板)
  var content = fs.readFileSync('./template/template.vue')
  //生成内容
  fs.writeFileSync(args[0], content)
  // 使用vscode打开
  exec('code ' + args[0])

Then let go of your imagination, you can combine many of your favorite commands to enjoy your tool.

Related recommendations:

Using command line tools in PHP_PHP tutorial

The above is the detailed content of How to create your own command line tool for node. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn