差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
it:node:命令行 [2021-10-16 05:07] – [刷新顯示] goldentianya | it:node:命令行 [2023-08-07 16:19] (当前版本) – [建立程序] goldentianya | ||
---|---|---|---|
行 2: | 行 2: | ||
===== 建立程序 ===== | ===== 建立程序 ===== | ||
+ | |||
+ | 准备:在服务器上安装 node.js 以及 npm | ||
+ | <code shell> | ||
+ | sudo apt install nodejs | ||
+ | sudo apt install npm | ||
+ | </ | ||
首先初始化一個項目((a> | 首先初始化一個項目((a> | ||
行 15: | 行 21: | ||
</ | </ | ||
- | 在本目錄下全局安裝 <color # | + | 在本目錄下全局安裝 <color # |
===== 交互式命令行 ===== | ===== 交互式命令行 ===== | ||
行 41: | 行 47: | ||
* 具體使用方式請參照 api 工程以及 ((a)) 文章。 | * 具體使用方式請參照 api 工程以及 ((a)) 文章。 | ||
- | ====== | + | ====== |
- | 為了不讓console的輸出結果太長,需要清除臨時顯示的行,借助 readline.js 庫文件((c> | + | [[https:// |
+ | |||
+ | 為了不讓console的輸出結果太長,需要清除臨時顯示的行,借助 readline.js 庫文件((b> | ||
<code javascript> | <code javascript> | ||
行 55: | 行 63: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | 常用命令 | ||
+ | * clearLine() | ||
+ | * cursorTo() | ||
+ | * moveCursor() | ||
+ | * clearScreenDown() | ||
+ | * createInterface() | ||
+ | * emitKeypressEvents() | ||
+ | |||
+ | **接受用户输入** | ||
+ | <code javascript> | ||
+ | this.RL = readline.createInterface({input: | ||
+ | // 监听 line 事件 | ||
+ | this.RL.on(' | ||
+ | this.observer.next(line) | ||
+ | this.counter++ | ||
+ | this.RL.pause() | ||
+ | }) | ||
+ | // 外部等待输入 | ||
+ | this.RL.setPrompt(prompt); | ||
+ | this.RL.prompt(); | ||
+ | return new Promise((resolve, | ||
+ | this.observer.subscribe((value: | ||
+ | resolve(value.trim()) | ||
+ | }); | ||
+ | }) | ||
+ | </ | ||
+ | |||
+ | 调用 <color # | ||
====== 交互工具 ====== | ====== 交互工具 ====== | ||
- | 需要借助 inquire.js ((b> | + | 需要借助 inquire.js ((c> |
安裝工具 <color # | 安裝工具 <color # |