Node.js - 首個應用程式
Hello, 有志者們!歡迎踏上這趟令人興奮的Node.js世界之旅。我很興奮能成為您們的導遊,一起開始創建我們的第一個Node.js應用程式。作為一個教了多年計算機科學的人,我迫不及待地想與您們分享我的知識和經驗。我們一起來探索吧!
什麼是Node.js?
在我們開始編程之前,讓我們先了解什麼是Node.js。想像一下你在一間餐廳裡,JavaScript就像一個只會在廚房(你的網頁瀏覽器)烹飪的廚師。現在,Node.js就像給那個廚師能力,讓他能在餐廳的任何地方烹飪!它讓JavaScript能在伺服器和電腦上運行,而不僅僅是在網頁瀏覽器中。
控制台應用程式
我們這次編程冒險的第一站是控制台應用程式。把控制台想像成一本簡單的筆記本,我們可以在裡面寫信息並看到結果。這就像與你的電腦對話!
Hello, World!
讓我們從經典的"Hello, World!"程序開始。創建一個新文件叫做hello.js
,然後輸入以下內容:
console.log("Hello, World!");
現在,運行這個程序:
- 打開你的終端或命令提示符
- 切換到包含
hello.js
的文件夾 - 鍵入
node hello.js
然後按Enter
你應該會在屏幕上看到"Hello, World!"。恭喜!你剛剛運行了你的第一個Node.js程序!
了解console.log()
console.log()
就像是你的代碼的擴音器。無論你把什麼放在括號內,Node.js都會把它大聲說給控制台聽。它在除錯和觀察代碼中發生的事情時非常有用。
讓我們試試一些更複雜的東西:
console.log("My name is " + "Node");
console.log("I am " + 5 + " years old");
console.log("I can do math: " + (2 + 3));
運行這段代碼,看看會發生什麼。Node.js可以在console.log()
中處理字符串、數字,甚至進行計算!
創建Node.js應用程式
現在我們已經熱身了,讓我們創建一個更為實質的應用程式。我們將建立一個能夠加兩個數字的簡單計算器。
步驟1:設置
創建一個新文件叫做calculator.js
。這將是我們的主要應用程式文件。
步驟2:編寫代碼
這是我們的計算器代碼:
// 加兩個數字的函數
function add(a, b) {
return a + b;
}
// 從命令行獲取輸入
var num1 = parseFloat(process.argv[2]);
var num2 = parseFloat(process.argv[3]);
// 檢查我們是否有有效的數字
if (isNaN(num1) || isNaN(num2)) {
console.log("Please provide two valid numbers");
} else {
// 計算並顯示結果
var result = add(num1, num2);
console.log(num1 + " + " + num2 + " = " + result);
}
讓我們來分析一下:
- 我們定義了一個
add
函數,它接受兩個參數並返回它們的和。 -
process.argv
是一個包含命令行參數的數組。process.argv[2]
和process.argv[3]
是第三和第四個參數(前兩個永遠是Node.js的路径和腚本文件)。 - 我們使用
parseFloat()
將輸入字符串轉換為數字。 - 我們使用
isNaN()
檢查輸入是否為有效的數字。 - 如果輸入有效,我們調用我們的
add
函數並顯示結果。
步驟3:運行應用程式
要運行這個應用程式,使用以下命令:
node calculator.js 5 3
你應該會看到輸出:5 + 3 = 8
嘗試不同的數字,或者甚至嘗試輸入無效的輸入,看看程序如何反應!
方法表
這是我們在Node.js應用程式中使用的方法表:
方法 | 描述 |
---|---|
console.log() |
將輸出打印到控制台 |
parseFloat() |
將字符串轉換為浮點數 |
isNaN() |
檢查一個值是否為非數字 |
process.argv |
包含命令行參數的數組 |
結論
恭喜!你剛剛創建了你的第一個Node.js應用程式。我們已經介紹了控制台輸出、函數創建和處理命令行輸入的基本知識。這只是你Node.js旅程的開始。
記住,編程就像學習一種新語言。它需要練習、耐心和堅持。不要害怕嘗試代碼,嘗試新事物,最重要的是,玩得開心!
在我們的下一次課程中,我們將探討更複雜的Node.js概念並開始建立網頁應用程式。在那之前,請繼續編程和探索。Node.js的世界是廣闊和令人興奮的,而你剛剛踏出了第一步!
Credits: Image by storyset