用Node寫一條配置環(huán)境的指令
前言
工作中需要維護(hù)一個(gè)極老的項(xiàng)目,說來話長(zhǎng)。在平時(shí)當(dāng)需要往項(xiàng)目里添加新的模塊時(shí),我需要手動(dòng)添加的東西太多了。由此希望通過編寫一條node命令,可以讓我一鍵完成配置我需要配置的東西,比如:路由,控制器,less文件等。最后我只需要在生成的模板index.jsx中寫我們可愛的模塊代碼就行了。
如何創(chuàng)建Node命令?
$ mkdir my-plugin $ cd my-plugin $ npm init --yes
配置package的腳本命令
{ "name": "12", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "bin": { "autocode": "bin/wflow.js" }, "dependencies": { "inquirer": "^7.0.0" }}
創(chuàng)建腳本js
#!/usr/bin/env node console.log('hello word');
全局安裝node命令
npm install . -g
以上就是創(chuàng)建node指令的方法,下面介紹如何編寫生成代碼腳本。
inquirer的使用
列舉用到的屬性,更多用法請(qǐng)自行學(xué)習(xí)。
1.input
const promptList = [{ type: 'input', message: '設(shè)置一個(gè)用戶名:', name: 'name', default: "test_user" // 默認(rèn)值 },{ type: 'input', message: '請(qǐng)輸入手機(jī)號(hào):', name: 'phone', validate: function(val) { if(val.match(/\d{11}/g)) { // 校驗(yàn)位數(shù) return val; } return "請(qǐng)輸入11位數(shù)字"; } }]; inquirer.prompt(promptList).then(answers => {});
效果:
2.list
const promptList = [ { type: "list", message: "作者帥嗎:", name: "iscool", choices: ['帥','一般帥'], }, { type: "list", message: "帥得什么級(jí)別:", name: "client", choices: ['吳彥祖','彭于晏'], when:function(answers){ return answers.iscool === '帥' }, filter: function(val) { }},]; inquirer.prompt(promptList).then(answers => {});
when用于標(biāo)記此條詢問何時(shí)出現(xiàn)!!!!
編寫腳本添加模版
筆者要添加模版為以下:
以在page文件夾下添加index.jsx和index.module.less為例子:
function action(module_name, module_title) { let url = 'https://raw.githubusercontent.com/justworkhard/Daily-Blog/master/2019-11/12/file/temp.jsx' fs.mkdir("app/page/" + module_name, () => { fs.writeFileSync("app/page/" + module_name + "/index.module.less", ""); https.get(url,(res)=>{ res.setEncoding('utf8'); let rawData = ''; res.on('data', (chunk) => { rawData += chunk; }); res.on('end', () => { fs.writeFileSync("app/page/" + module_name + "/index.jsx", rawData); }); }) }); }
先是在page文件夾下面添加module的文件夾,使用http將線上的index.jsx模版拉下來放到創(chuàng)建的module文件夾下面。
結(jié)語(yǔ)
總的來說,通過一條node指令完成了新建模塊所需的配置并不一定能節(jié)省多少時(shí)間,但卻非???,不是嗎?
鏈接:https://github.com/justworkhard/autocode.git
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- windows系統(tǒng)下簡(jiǎn)單nodejs安裝及環(huán)境配置
- nodejs開發(fā)環(huán)境配置與使用
- Node.js的環(huán)境安裝配置(使用nvm方式)
- windows系統(tǒng)下node.js環(huán)境配置與安裝教程圖文詳解(詳細(xì)版)
- Node實(shí)戰(zhàn)之不同環(huán)境下配置文件使用教程
- 配置nodejs環(huán)境的方法
- 詳解Wondows下Node.js使用MongoDB的環(huán)境配置
- Windows下Node.js安裝及環(huán)境配置方法
- win系統(tǒng)下nodejs環(huán)境安裝配置
相關(guān)文章
node終端里如何連接mysql數(shù)據(jù)庫(kù)并進(jìn)行sql查詢
這篇文章主要為大家介紹了node終端里如何連接mysql數(shù)據(jù)庫(kù)并進(jìn)行sql查詢,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07Node.js實(shí)現(xiàn)修改文件字符集功能的具體過程
在日常生活、工作中,我們經(jīng)常會(huì)遇到需要處理不同編碼格式的文件,有時(shí),在嘗試打開這些文件時(shí)會(huì)遇到亂碼,原因通常是文件的編碼與我們使用的文本編輯器或編程語(yǔ)言的默認(rèn)編碼不匹配,這篇文章將介紹Node.js修改文件字符集的實(shí)現(xiàn)思路和具體實(shí)現(xiàn)過程2024-08-08node實(shí)現(xiàn)登錄圖片驗(yàn)證碼的示例代碼
這篇文章主要介紹了node實(shí)現(xiàn)登錄圖片驗(yàn)證碼的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04NodeJS實(shí)現(xiàn)不可逆加密與密碼密文保存的方法
這篇文章主要介紹了NodeJS實(shí)現(xiàn)不可逆加密與密碼密文保存的方法,簡(jiǎn)單講述了不可逆加密與密碼密文保存的原理并結(jié)合實(shí)例形式分析了nodejs相關(guān)加密操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-03-03Nodejs中獲取當(dāng)前函數(shù)被調(diào)用的行數(shù)及文件名詳解
這篇文章主要給大家介紹了關(guān)于Nodejs中獲取當(dāng)前函數(shù)被調(diào)用的行數(shù)及文件名的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12