iT邦幫忙

2022 iThome 鐵人賽

DAY 2
2

昨天我們安裝了 Node.js,也用了 node main.js 來執行 main.js 這個檔案並取得了回傳的值。

而安裝 Node.js 除了提供給我們瀏覽器以外的 JS 執行環境,同時也幫我們安裝了另一個目前開發時不可或缺的工具:Node Package Manager(npm)

不確定有沒有安裝的話可以輸入 npm -v 來檢查是否安裝了 npm

誠如 npm 的名稱所示,這是一個 node 的套件管理工具,它提供了三個主要的服務:

  • 網站:可以設定個人檔案、管理 package 的存取權(public or private)
  • Command Line Interface(CLI):可透過終端機執行 npm 的服務,同時也是最多開發者所使用的 npm 功能
  • 資源庫(registry):一個開放的資料庫,裡面有
    • JS software
    • meta-information:它記錄了 package 的作者、版本、描述、依賴的其他套件...等等,也就是我們時常在前端專案裡見到的 package.json
  • link: About npm

啟用 npm

我們要在專案裡面加入 npm 的話,首先需要進行 npm 的初始化:npm init

npm init 會建立一個 package.json 的檔案,以及一些基本的預設設定

先移動到目標檔案夾內後,在終端機中輸入 npm init 來對專案進行初始化

❯ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

之後只要跟著繼續按就可以建立一個 package.json 的檔案了

Press ^C at any time to quit.

-> 專案名稱
package name: (day02) npm-initial-repository

-> 專案版本
version: (1.0.0) 1.0.0

-> 專案描述
description: this repository is use on ithome2022 article, try to make an example for npm init

-> 進入點(要將此專案跑起來時,應該要執行哪一份檔案)
entry point: (index.js) main.js

-> 此為預設產生的,用來輸入測試時要跑的 script
test command:

-> 如果已經有 github 的專案位址的話可以在此輸入
git repository:

-> 要給這個專案的關鍵字
keywords: ithome2022, npm init

-> 作者
author: Rocket Pencil

-> 此專案所採用的授權
license: (ISC) MIT
About to write to /Users/pencil/Desktop/folder/project/ithome2022/day02/package.json:

現在的專案資料夾裡面會多一個 package.json,裡面的內容則是我們剛剛在 npm init 的時候輸入的資訊

{
  "name": "npm-initial-repository",
  "version": "1.0.0",
  "description": "this repository is use on ithome2022 article, try to make an example for npm init",
  "main": "main.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "ithome2022",
    "npm",
    "init"
  ],
  "author": "Rocket Pencil",
  "license": "MIT"
}

這樣我們就成功地對專案進行 npm 的初始化了,明天我們會透過 npm 來安裝在 npm registry 上的 package。

參考

-> 官方文件中對 npm init 的說明
npm-init

-> 官方文件中對 package.json 中各種設定的詳細說明
npmjs package.json

-> 關於 npm 中的 registry
NPM registry internals

-> 將 npm 初始化時,各個選項說明的參考文章
史上最強套件管理 - NPM , npm init 與 npm install (Day11)


謝謝願意花時間看的每一個人...


上一篇
Day01 - 為什麼要裝 Node.js?
下一篇
Day03 - 把 sass 從 npm 帶回家
系列文
因為拖延症而沒有好好準備有系統性文章架構的我只能靠一天一筆記來贖罪30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
孤獨一隻雞
iT邦研究生 5 級 ‧ 2022-09-17 00:47:06

希望此主題可以活30天

∠( ᐛ 」∠)_

0
Ray
iT邦研究生 4 級 ‧ 2022-09-17 00:49:53

希望此主題可以成功活 30 天

_ (°:з」∠)_

0
吠吠
iT邦新手 3 級 ‧ 2022-09-17 00:50:58

希望此主題可以成功反射 30 天

_ (:3」∠)_

0
一顆蘋果熊
iT邦新手 5 級 ‧ 2022-09-17 13:27:40

我都看您的筆記學node.js 拜託請不要停載!!!

賣ㄍㄟˋ!!!

我要留言

立即登入留言