日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

npm package.json文件解读

發(fā)布時間:2025/7/25 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 npm package.json文件解读 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

每個Nodejs項目的根目錄下面,一般都會有一個package.json文件。該文件可以由npm init生成,定義了項目所需要的各種模塊,以及項目的配置信息(比如名稱、版本、許可證等元數(shù)據(jù))。

package.json文件內(nèi)部就是一個JSON對象,該對象的每一個成員就是當(dāng)前項目的一項設(shè)置。

基本字段

  • name

    項目名稱(npm包名)。必需字段

  • version

    項目版本。必需字段。
    版本號的格式為"1.0.0",分別代表“主版本號.次版本號.修訂號”。它的遞增規(guī)則如下:
    • 主版本號:當(dāng)你做了不兼容的API 修改;
    • 次版本號:當(dāng)你做了向下兼容的功能性新增;
    • 修訂號:當(dāng)你做了向下兼容的問題修正。

    在實際使用中,一般可以看到各種形式的版本號:

    *: 任意版本 1.1.0: 指定版本 ~1.1.0: 1.1.0 <= 版本 < 1.2.0 ^1.1.0: 1.1.0 <= 版本 < 2.0.0 latest:安裝最新版本。
    • *表示任意版本;
    • ~前綴表示,安裝大于指定的這個版本,并且匹配到 x.y.z 中 z 最新的版本;
    • ^前綴在 ^0.y.z 時的表現(xiàn)和 ~0.y.z 是一樣的,然而 ^1.y.z 的時候,就會匹配到 y 和 z 都是最新的版本;
    • 特殊的是,當(dāng)版本號為 ^0.0.z 或者 ~0.0.z 的時候,考慮到 0.0.z 是一個不穩(wěn)定版本, 所以它們都相當(dāng)于 =0.0.z。
  • author && contributors

    項目作者以及貢獻者。author是字符串形式的作者名,contributors是一個項目貢獻者數(shù)組。

  • description && keywords

    項目描述和項目關(guān)鍵字。幫助人們在使用npm search時找到這個包。

  • license

    許可證。

  • 功能性字段

  • scripts

    定義腳本命令。它的每一個屬性,對應(yīng)一段腳本。并且可以在命令行下使用npm run命令執(zhí)行這段腳本。

    npm 腳本的原理非常簡單。每當(dāng)執(zhí)行npm run,就會自動新建一個 Shell,在這個 Shell 里面執(zhí)行指定的腳本命令。因此,只要是 Shell(一般是 Bash)可以運行的命令,就可以寫在 npm 腳本里面。

    比較特別的是,npm run新建的這個 Shell,會將當(dāng)前目錄的node_modules/.bin子目錄加入PATH變量,執(zhí)行結(jié)束后,再將PATH變量恢復(fù)原樣。

    更多可參考阮老師的 npm scripts 使用指南

  • dependencies && devDependencies

    npm install在安裝node模塊時,有兩種命令參數(shù)可以把它們的信息寫入package.json文件: –save以及–save-dev。–save會把依賴包名稱添加到package.json文件dependencies鍵下,–save-dev則添加到package.json文件devDependencies鍵下。

    dependencies字段指定了項目生產(chǎn)環(huán)境中需要的依賴,即正常運行該包時所依賴的模塊,devDependencies指定項目開發(fā)所需要的依賴項,像一些進行單元測試之類的包,比如grunt-contrib-uglify,我們用它混淆js文件,它們不會被部署到生產(chǎn)環(huán)境。

    它們都指向一個對象。該對象的各個成員,分別由模塊名和對應(yīng)的版本要求組成,表示依賴的模塊及其版本范圍。

  • bin

    用來指定各個內(nèi)部命令對應(yīng)的可執(zhí)行文件的位置。

    例如:

    "bin": {"someTool": "./bin/someTool.js" }

    上面代碼指定,someTool 命令對應(yīng)的可執(zhí)行文件為 bin 子目錄下的 someTool.js

  • main

    指定包的入口程序文件。這個字段的默認值是模塊根目錄下面的index.js。

  • config

    用于向環(huán)境變量輸出值。

    比如:

    {// ..."config" : { "port" : "8080" }, }

    然后通過process.env.npm_package_config_port讀取該值。

  • 其他字段

  • engines

    指定node的工作版本

  • man

    指定當(dāng)前模塊的man文檔的位置。

  • preferGlobal

    布爾類型值,表示當(dāng)用戶不將該模塊安裝為全局模塊時(即不用–global參數(shù)),要不要顯示警告。

    ...

  • 轉(zhuǎn)載于:https://www.cnblogs.com/yzg1/p/6373852.html

    總結(jié)

    以上是生活随笔為你收集整理的npm package.json文件解读的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。