iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0
自我挑戰組

TypeScript 從0開始系列 第 2

D2 - 使用VSCode開發、官方範例解析

  • 分享至 

  • xImage
  •  

Visual Studio Code (VS Code)

先來安裝官方出的VSCode開發套件
VS Code for Node.js - Development Pack

Hello World

使用Node.js官網找到的範例,來測試安裝能否順利執行

當我在command line 下 node app.js ,雖然看到console.log的訊息,連上本機 3000 port 卻出現error 😞

突然想到裝的套件還沒用呢!趕快用套件run了一下,成功!
https://ithelp.ithome.com.tw/upload/images/20230904/20160553L12IzpAJKd.png

可惜的是我就此不能複製出剛剛的錯誤了…

範例解析

由於本人使用javascript的範圍僅限jQuery、ajax等簡單操作

雖然看得懂範例內容,但對這個語法並不熟悉,在這邊寫下註解:

// 載入 Node.js 內建的 'http' module
const http = require('http');

// 設定 service 開在 本機的 3000 port
const hostname = '127.0.0.1';
const port = 3000;

// 建立一個 http server, response內容設定
const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');

  // end()表達要送的資料都已經完備
	res.end('Hello World');
});

// Server 開始聽 host:port 的連線
server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

‘http’ module

接著試試看發送 request 到本機 server 看看

const options = {
  hostname: hostname,
  port: port,
  path: '/',
  method: 'GET',
};

const req = http.request(options, (res) => {
  console.log(`STATUS: ${res.statusCode}`);
  console.log(`HEADERS: ${JSON.stringify(res.headers)}`);
  res.setEncoding('utf8');
  res.on('data', (chunk) => {
    console.log(`BODY: ${chunk}`);
  });
  res.on('end', () => {
    console.log('No more data in response.');
  });
});

req.on('error', (e) => {
  console.error(`problem with request: ${e.message}`);
});

// Write data to request body
req.write(postData);
req.end();

https://ithelp.ithome.com.tw/upload/images/20230904/201605533ruaX8Fqkr.png
起初看不太懂文件,搭配 code example 還是比較快 XD


上一篇
D1 - 緣起、開發環境介紹
下一篇
D3 - D2 延伸學習
系列文
TypeScript 從0開始21
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言