nodejs學習記錄2

2021-10-08 19:10:17 字數 4108 閱讀 2027

1、commander

2、chalk

3、inquirer

npn:

npm發布自己的包方法需要乙個package

.json,可以在命令列中執行**幫助建立package

.json檔案

例如:npm init / npm init --yes(預設同意會直接使用你的檔名當專案名稱)

commander

// console.log( process.ar** );

//const commander = require('commander');

// 設定當前命令的版本

'v1.0.0', '-v, --version');

// 設定其他option,--name 後面的 [val] 是當前這個選項的引數值

// 表示可選,<>表示必填

// 如果第三個引數是乙個函式的話,那麼該函式會接受來自使用者輸入的值

// 並返回乙個值作為 最後 這個選項實際的值

// commander.option('-n, --name [val]', '設定名稱', '');

// commander.option('-n, --name [val]', '設定名稱', function(val) );

'create');

// 設定命令的動作

=> );

// 解析來自process.ar**上的資料,會自動幫助我們新增乙個 -h 的解析

process.ar** );

// console.log( commander.name );

chalk:文字的修飾:斜體,加粗重windows下(cmd)下支援不是特別的好

/**

* ls

* 輸出當前執行命令所在的目錄下的檔案和資料夾

* ls -p d:\

* 我們還可以指定要顯示的目錄

// 載入commander模組

const commander = require('commander');

// 載入fs模組

const fs = require('fs');

// 美化

const chalk = require('chalk');

// 文字的修飾:斜體,加粗重windows下(cmd)下支援不是特別的好

// console.log(chalk.italic('hello world!') + ' miaov');

// console.log(chalk.bold.red.bggreen('hello world!') + ' miaov');

// process.exit();

// 設定當前命令工具的版本

commander.version('v1.0.0', '-v, --version');

// 設定命令選項

commander.option('-p, --path [path]', '設定要顯示的目錄', __dirname);

= undefined;

// console.log(commander.path);

// process.exit();

// 以列表的形式顯示,如果選項不接收使用者輸入的值,那麼這個選項將以boolean的形式提供給後面命令使用

commander.option('-l, --list', '以列表的形式顯示');

// 實現命令的具體邏輯

commander.action( () => \r\n`) : `[檔案] $\r\n`;

// return `[$] $\r\n`;

} ).join('');

console.log(output);

} else

} catch(e)

} );

commander.parse( process.ar** );

*/

inquirer:與使用者進行命令列的互動

const inquirer =

require

('inquirer');

/* 提問使用者,與使用者進行命令列的互動

// prompt陣列中存放乙個指定格式的物件,我們稱為question物件

inquirer.prompt([

return true;

},// 對使用者輸入的資料或選擇的資料進行過濾

filter(val) },,

,// ,,]

}]).then(answers=>)

electron
electron哎來賺(npm run dev)

npm init

/* console.log('hello');

// console.log(__dirname);

// const electron = require('electron');

/** * 事件

* 屬性

* 方法

*/// event.emmiter

// console.log('ok');

// settimeout(() => , 2000)

let bw1 = new browserwindow();

let bw2 = new browserwindow();

// 與視窗有關的瀏覽器中的內容都是通過下面的屬性類操作的

// bw1.webcontents;

// bw1.webcontents.opendevtools();

// console.log(bw1.id);

// console.log(bw2.id);

// 載入指定的頁面到視窗中,支援絕對路徑,但是推薦使用相對

// 路徑,而且路徑在解析的時候會被處理,相對路徑預設指向

// 應用程式的根目錄

bw1.loadfile('./layout/index.html');

// 支援載入遠端檔案,支援http協議,也支援file協議

// bw1.loadurl('');

});

menu選單類

let bw1 = new browserwindow();

// let bw2 = new browserwindow();

// 建立選單物件

let m1 = new menu();

// 建立選單項

let mi1 = new menuitem();

// 把選單項新增到指定的選單物件中

// 建立選單項

let mi2 = new menuitem(,,,

,,,,

,// }]

});// 指定該選單顯示的主體(具體哪個視窗、右鍵-上下文)

/*** 選單位置:

* 1. 應用程式的頂層選單

* 2. 上下文選單

*/// 把選單新增到應用程式視窗最頂層

menu.

( m1 );}

)主程序主動傳送訊息到渲染程序

// 主程序

let username = 'zmouse';

global.username = username;

let datas =

const win = new browserwindow();

win.webcontents.opendevtools();

win.loadfile('./layout/index.html');

// 監聽渲染程序 ipcrenderer 傳送的訊息

ipcmain.on('getdata', function(e, key) );

// 主程序主動傳送訊息到渲染程序

settimeout(() => , 2000);

const win2 = new browserwindow();

win2.webcontents.opendevtools();

win2.loadfile('./layout/index2.html');*/

/*

按鈕按鈕2

});

nodejs 學習記錄(三) mime模組學習

引至 mime 乙個全面的,規整mime型別的模組。版本二是版本一的乙個轉折點,具體的變更如下 es6相容但是要求node的版本要大於6,這可以算得上是乙個巨大的改變,除此之外,有些對應的介面方法也做了些修改,如 lookup 被gettype 替換,extension 被getextension ...

學習記錄2

pv操作同步過程 對訊號燈狀態進行改變,p呼叫一次 1,v呼叫一次 1。p操作 p s 是乙個原語操作,p操作執行 s 若s為負數,呼叫p s 的程序被阻塞,放到等待佇列q中。p s v操作 v s 剛好與p s 操作相反,v操作執行 s 若s為大於0,繼續執行 s 0,從訊號燈等待佇列移出乙個程序...

學習記錄2

1 如果電腦螢幕顯示異常 安裝360顯示卡驅動 3 win10虛擬機器未聯網,橋接模式沒有作用,勾選nta模式,用於共享主機的ip位址並重新啟動電腦 4 安裝cad如果安裝不成功,安裝路徑資料夾名稱可以修改為英文 5 虛擬機器安裝win10非常卡,將虛擬機器執行記憶體調大,由1gb調整為4gb 6 ...