在 Node 指令中帶入參數

好用的 API。

Process

Node 裡面有提供一個 Process 的模組,其中 process.argv 這個屬性可以存取你在用 node 指令時所帶入的參數:

假設我執行 node index.js 1

1
2
const process = require('process')
console.log(process.argv)

輸出結果會得到一個陣列:

1
[ 'D:\\Program\\Node.js\\node.exe', 'D:\\test_folder\\index.js', '1' ]

應該很熟這個格式吧?

  1. node 指令的執行檔案
  2. index.js 的執行檔案位置
  3. 帶入的字串 1

相信熟知 JavaScript 的你就知道接下來該怎麼做了。

一個串接 API 的示範

簡單拿 reqres 這個 API 來做示範:

1
2
3
4
5
6
7
8
const request = require('request') // 引入下載的 request 模組 
const { argv } = require('process') // 把 argv 解構出來

// users 後面接的是 ID
request(
`https://reqres.in/api/users/${argv[2]}`,
(error, response, body) => console.log(JSON.parse(body))
)

接著執行 node index.js 1

1
2
3
4
5
6
7
8
9
10
11
12
13
{
data: {
id: 1,
email: 'george.bluth@reqres.in',
first_name: 'George',
last_name: 'Bluth',
avatar: 'https://reqres.in/img/faces/1-image.jpg'
},
support: {
url: 'https://reqres.in/#support-heading',
text: 'To keep ReqRes free, contributions towards server costs are appreciated!'
}
}

就順利完成囉!

curl 的使用方法 mentor-program-day22
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×