差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
it:node:命令行 [2021-11-28 10:17] – [刷新顯示] 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 # |
===== 交互式命令行 ===== | ===== 交互式命令行 ===== | ||
行 65: | 行 71: | ||
* createInterface() | * createInterface() | ||
* emitKeypressEvents() | * 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 ((c> | + | 需要借助 inquire.js ((c> |
安裝工具 <color # | 安裝工具 <color # |