- Learning Node.js Development
- Andrew Mead
- 425字
- 2021-06-30 18:56:52
Getting input from the user inside the command line
To start things off, let's run our app from the Terminal. We'll run it pretty similarly to how we ran it in the earlier sections: we'll start with node (I'm not using nodemon since we'll be changing the input), then we'll use app.js, which is the file we want to run, but then we can still type other variables.
If we want to add a note, that might look as a command shown in the following code:
node app.js add
This command will add a note; we can remove a note using the remove command, as shown here:
node app.js remove
And we could list all of our notes using the list command:
node app.js list
Now, when we run this command, the app is still going to work as expected. Just because we passed in a new argument doesn't mean our app is going to crash:

And we actually have access to the list argument already, we're just not using it inside the application.
To access the command-line arguments your app was initialized with, you'll want to use that process object that we explored in the first chapter.
We can log out all of the arguments using console.log to print them to the screen; it's on the process object, and the property we're looking for is argv.
Now save app.js and it'll look like the following:
console.log('Starting app.js');
const fs = require('fs');
const _ = require('lodash');
const notes = require('./notes.js');
console.log(process.argv);
Then we'll rerun this file:

Now, as shown in the preceding command output, we have three items which are as follows:
- The first one points to the executable for Node that was used.
- The second one points to the app file that was started; in this case, it was app.js.
- The third one is where our command-line arguments start to come into play. In it, we have our list showing up as a string.
That means we can access that third item in the array, and that will be the command for our notes application.
- 自動駕駛網(wǎng)絡(luò):自智時代的網(wǎng)絡(luò)架構(gòu)
- 物聯(lián)網(wǎng)概論(第2版)
- 智慧城市中的移動互聯(lián)網(wǎng)技術(shù)
- 物聯(lián)網(wǎng)安全技術(shù)
- 計算機(jī)網(wǎng)絡(luò)工程實用教程(第2版)
- 通信原理及MATLAB/Simulink仿真
- 網(wǎng)絡(luò)環(huán)境中基于用戶視角的信息質(zhì)量評價研究
- Learning Windows 8 Game Development
- 5G+區(qū)塊鏈
- 智能物聯(lián)網(wǎng):區(qū)塊鏈與霧計算融合應(yīng)用詳解
- Corona SDK Application Design
- 5G新型多址技術(shù)
- 深入淺出計算機(jī)網(wǎng)絡(luò)
- Next.js Quick Start Guide
- 華為LiteOS:快速上手物聯(lián)網(wǎng)應(yīng)用開發(fā)