1. 程式人生 > >使用node打造自己的命令列工具方法教程0

使用node打造自己的命令列工具方法教程0

這篇文章主要介紹了使用node打造自己的命令列工具方法教程,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一、實現一個簡單的功能
在這裡插入圖片描述
image
二、環境

1.系統: window 10
2.編輯器: vscode
3.node版本: 8.7.0

三、開始玩

1.開啟命令列,新建一個pa’ckage.json

npm init

這時看到一個新的package.json生成了,使用編輯器開啟

2.修改package.json,新增一個bin屬性

`{`
`"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.新建一個cli.js在當前的目錄下, 簡單修改

console.log('hello world')

4.然後轉到命令列, 輸入

npm link

5 檢視一下效果
在這裡插入圖片描述
image
正確打印出hello world就是成功了

6.實現預覽的效果

原理就是執行cli.js的時候,會讀取自己設定好的模板,然後在當前的目錄下生成一個檔案,

寫入模板的內容,簡單的程式碼如下

`#! /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])`

然後放開你的腦洞, 你就能組合出許多你自己喜歡的命令來享受你的工具了

以上就是本文的全部內容,希望對大家的學習有所幫助.