做好一些前置功課之後,可以嘗試建立一個 Node.js 專案試試了
以前都是用右鍵建立資料夾,再把資料夾拖到 VS Code 去使用,這樣使用 VS Code 的 Terminal 就不用管路徑問題很方便,但趁這次還是整理練習一下終端機指令好了。
| Unix/Linux 指令 | Windows PowerShell | Windows CMD | 說明 | 
|---|---|---|---|
pwd | 
pwd 或 Get-Location | 
cd | 
顯示目前路徑 | 
ls | 
ls 或 Get-ChildItem | 
dir | 
列出檔案和目錄 | 
ls -l | 
ls -l 或 Get-ChildItem -Format List | 
dir | 
詳細列出檔案 | 
ls -la | 
ls -Force 或 Get-ChildItem -Force | 
dir /a | 
列出所有檔案(含隱藏) | 
ls -R | 
ls -Recurse | 
dir /s | 
遞迴列出子目錄 | 
cd /path/to/dir | 
cd C:\path\to\dir | 
cd C:\path\to\dir | 
切換到指定目錄 | 
cd .. | 
cd .. | 
cd .. | 
回到上層目錄 | 
cd ~ | 
cd ~ 或 cd $env:USERPROFILE | 
cd %USERPROFILE% | 
回到使用者家目錄 | 
cd - | 
cd - | 
無對應 | 切換到上一個目錄 | 
| Unix/Linux 指令 | Windows PowerShell | Windows CMD | 說明 | 
|---|---|---|---|
mkdir dirname | 
mkdir dirname | 
mkdir dirname | 
建立目錄 | 
mkdir -p path/to/dir | 
New-Item -ItemType Directory -Force -Path path\to\dir | 
需逐層建立 | 建立多層目錄 | 
rmdir dirname | 
rmdir dirname | 
rmdir dirname | 
刪除空目錄 | 
rm filename | 
Remove-Item filename | 
del filename | 
刪除檔案 | 
rm -f filename | 
Remove-Item filename -Force | 
del filename /f | 
強制刪除檔案 | 
rm -r dirname | 
Remove-Item dirname -Recurse | 
rmdir dirname /s | 
遞迴刪除目錄 | 
rm -rf dirname | 
Remove-Item dirname -Recurse -Force | 
rmdir dirname /s /q | 
強制遞迴刪除 | 
cp source dest | 
Copy-Item source dest | 
copy source dest | 
複製檔案 | 
cp -r source dest | 
Copy-Item source dest -Recurse | 
xcopy source dest /e | 
遞迴複製目錄 | 
mv oldname newname | 
Move-Item oldname newname | 
move oldname newname | 
移動/重新命名 | 
touch filename | 
New-Item filename -ItemType File | 
echo. > filename | 
建立空檔案 | 
| Unix/Linux 指令 | Windows PowerShell | Windows CMD | 說明 | 
|---|---|---|---|
cat filename | 
Get-Content filename | 
type filename | 
顯示檔案內容 | 
less filename | 
Get-Content filename | more | 
more filename | 
分頁顯示檔案 | 
head filename | 
Get-Content filename -Head 10 | 
無直接對應 | 顯示檔案前10行 | 
tail filename | 
Get-Content filename -Tail 10 | 
無直接對應 | 顯示檔案後10行 | 
tail -f filename | 
Get-Content filename -Wait | 
無直接對應 | 即時監看檔案更新 | 
wc -l filename | 
(Get-Content filename).Count | 
find /c /v "" filename | 
計算檔案行數 | 
grep pattern filename | 
Select-String pattern filename | 
find "pattern" filename | 
搜尋檔案內容 | 
這邊我們先執行 mkdir node_test 就可以在電腦中找到新增的資料夾,接著移動到該資料夾的路經cd node_test
然後我們用 VS Code 打開資料夾,執行 npm init -y 就可以看到出現一個 package.json
關於 package.json 還會延伸出很多東西,之後有機會再整理在後面的篇幅
接下來執行 touch index.js 看看會如何
不意外的 Windows 系統不支援此指令,所以我們要用 echo "" > index.js 代替
成功的話就會出現 index.js 的檔案了
再來我們去官網複製範例程式碼來測試看看
import { createServer } from 'node:http';
const hostname = '127.0.0.1';
const port = 3000;
const server = createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World');
});
server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});
執行 node index.js
成功的話應該會打印出console.log
也可以到瀏覽器去看看 http://127.0.0.1:3000/
關於 http 就留到後面 2 天後再寫。
這邊沒有梗圖,是真的會寫!!
每次修改程式碼都要重新執行 node index.js 是非常麻煩的事,所以有了 nodemon。
科技始終來自於惰性,所以順著惰性,我們直接安裝在全域,就不用每個專案都裝一次。
npm install nodemon -g
安裝成功後可以透過 nodemon -v 看版本號。
使用起來也很簡單從 node index.js 改成 nodemon index.js 就好,
接下來只要有修改內容,就會自動重啟了。