## 整體結構 :::success package.json可以透過npm init生成,裡面記錄了版本、憑證、依賴、指令(script)...等,可以把它視為專案的控制面板。  ### <font color="red">必備屬性</font> name和version組成在npm中搜尋時的辨識文字(PK) * name:套件名稱、import名稱 * version:套件版本 ### <font color="purple">目錄、文件相關</font> * main:模組的ID,程式的主要入口,當其他人引用此套件時會下載的檔案(預設值是index.js) * bin:指定內部命令對應執行文件的位置 * files:包含在此套件的其他檔案 * man:和Linux中man用途一樣,用於查詢指令的說明文件 * directories:目錄,紀錄所有檔案對應的資料夾路徑 ### <font color="darkblue">協議</font> 紀錄套件的授權跟限制,像是「版權的歸屬」、「是否可修改」、「在甚麼情況可以自由使用」、「作者是否承擔風險」...等 ### <font color="blue">腳本配置</font> * script:定義在終端機上可使用的指令(格式:npm run *script_name*) * config:定義要給script用的參數 ### <font color="orange">依賴</font> 下載此專案時會附加下載的其他套件 * dependencies:產生環境時要用到的套件 * devDependencies:只在開發階段要用的套件,在npm install時被下載,但不會被裝到生產環境中 * peerDependencies:指定依賴的套件版本 * optionalDependencies:當dependencies中的套件下載失敗時,可以頂替的套件(名字要和dependencies中一樣) * bundledDependencies:將dependencies, devDependencies中的套件打包成數組 ### <font color="yellow">描述訊息</font> 幫助在npm中搜尋套件 * description:套件簡介 * keyword:能夠讓使用者簡略了解整個套件的hashtag * author、contributors:此套件的作者、貢獻者 * homepage:此專案主頁的路徑(網址) * repository:儲存程式碼的路徑(網址) * bugs:紀錄連絡資訊,可以回饋意見 ### <font color="green">發佈配置</font> * private:是否發布到網路上供其他人使用 * preferGlobal:當下載者不在Global中下載的話會顯示警告 * publishConfig:發佈到網路上時的一些配置 * os:限制安裝環境,要在哪個os、cpu下安裝 :::
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up