npm學習(五)之使用package.json


使用package.json

管理本地安裝的npm包的最佳方法是創建一個package.json文件。

一個packagejson文件:

  • 列出項目所依賴的包。
  • 允許使用語義版本控制規則指定項目可以使用的包的版本。
  • 使您的構建具有可重復性,因此更容易與其他開發人員共享。

需求

一個package.json必須:

  • “name”

    不允許大寫字母

    不允許空格

    允許使用破折號和下划線

  • “version”

    以x.x.x的形式

    遵循semver規范

For example:

{ "name": "my-awesome-package", "version": "1.0.0" }

創建一個package.json

有兩種基本方法創建package.json文件。

1. 運行CLI問卷

創建package.json文件與您提供的值,運行:npm init

這將啟動一個命令行問卷,最后在您啟動命令的目錄中創建一個package.json

2. 創建一個默認的package.json

獲取默認的package.json,運行npm init -yesnpm init -y

這個方法將生成一個默認package.json,使用從當前目錄中提取的信息。

Wrote to /Users/wangkun/Desktop/nodeWork/work2/lesson8-1/package.json: { "name": "lesson8-1", "version": "1.0.0", "description": "", "main": "index.js", "dependencies": { "react": "^16.8.6" }, "devDependencies": {}, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC"
  • name: 當前目錄名稱

  • version: 版本

  • description: 說明

  • main: 入口文件,總是index.js

  • dependencies:生產依賴

  • devDependencies:開發依賴

  • scripts:腳本,默認情況下創建一個空的測試腳本

  • keywords:關鍵字

  • author:作者

  • license: 許可

您還可以為init命令設置幾個配置選項。一些有用的:

> npm set init.author.email "wombat@npmjs.com"

> npm set init.author.name "ag_dubs"

> npm set init.license "MIT"

注意: 

如果package.json中沒有描述字段。npm使用README.md或者README的第一行來代替。這個描述幫助人們在搜索npm時找到您的包,因此在package.json中進行自定義描述絕對是有用的,使您的

包更容易找到。

如何自定義package.json問卷 

如果您希望創建多個package.json文件,您可能希望自定義init過程中詢問的問題,以便這些文件始終包含您期望的關鍵信息。您可以自定義字段以及所詢問的問題。

為此,在主目錄~/.npm-init.js中創建一個自定義 .npm-init.js。

一個簡單的.npm-init.js可能是這樣的:

module.exports = { customField: 'Custom Field', otherCustomField: 'This field is really cool' }

在主目錄中使用這個文件運行npm init將輸出一個package.json包含下面的這些:

{ customField: 'Custom Field', otherCustomField: 'This field is really cool' }

您還可以使用prompt函數自定義問題。

 module.exports = prompt("what's your favorite flavor of ice cream, buddy?", "I LIKE THEM ALL");

要了解更多關於如何創建高級定制的信息,請查看init-package-json文檔

指定依賴項

要指定項目所依賴的包,需要列出希望在中package.json文件中使用的包,你可以列出兩種包:

“dependencies”:您的應用程序在生產中需要這些包。

“devDependencies”:這些包只用於開發和測試。

手動編輯package.json

您可以手動編輯package.json。您需要在包對象中創建一個名為dependencies的屬性,該屬性指向一個對象。這個對象將包含您希望使用的包的名稱屬性。它將指向一個semver表達式,該表達式指

定與您的項目兼容的項目版本。如果您有依賴關系,您只需要在本地開發期間使用,請遵循與上面相同的指示,但要使用名為devDependencies的屬性。

例如,下面的項目使用的my_dep包的任何版本與生產中的主要版本1匹配,並且需要my_test_framework包的任何版本與主要版本3匹配,但僅用於開發:

{ "name": "my_package", "version": "1.0.0", "dependencies": { "my_dep": "^1.0.0" }, "devDependencies" : { "my_test_framework": "^3.1.0" } }

--save和--save-dev安裝標志

向package.json中添加依賴項的更簡單(也更棒)的方法,從命令行開始執行,使用--save或--save-dev標記npm install命令,這取決於您希望如何使用該依賴項。

向package.json文件中的dependencies:npm install <package_name> --save

向package.json文件中的devDependencies:npm install <package_name> --save-dev

管理依賴版本

npm使用語義版本控制,或者正如我們經常提到的SemVer,來管理包的版本和版本范圍。

如果你有一個package.json文件在你的目錄中並且運行npm install,npm將查看該文件中dependencies列出的,並使用語義版本控制下載最新版本。

更多內容 

package.json

【npm】伙計,給我來一杯package.json!不加糖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM