麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

CommonJS包規(guī)范與NodeJS的包管理工具NPM

2024-04-27 15:18:24
字體:
來源:轉載
供稿:網(wǎng)友

上一篇文章已經(jīng)介紹了CommonJS 這里就不贅述了

CommonJS包規(guī)范

包是什么呢? 類比于git,是我們對于某種文件夾的叫法 git init 命令在當前文件夾中生成了隱藏文件.git,我們就把這個文件叫做倉庫 npm init 命令在當前文件夾中生成了配置文件package.json,我們就把這個文件叫做包

CommonJS包規(guī)范包括包結構和包描述文件

包結構

如果嚴格按照規(guī)范來說 包目錄應包含以下文件或目錄

package.json:包描述文件bin:存放可執(zhí)行二進制文件的目錄lib:存放js代碼的目錄doc:存放文檔的目錄test:存放單元測試用例代碼的目錄

包描述文件

package.json就位于包的根目錄 就是一個配置文件 內(nèi)部就是對于包的相關描述信息

{ "name": "demo", "version": "1.0.0", "descr其實根據(jù)屬性名也能猜個差不多 規(guī)范字段解釋如下:

name:名description:簡介version:版本號key
Words:關鍵詞數(shù)組maintainers:維護者列表contributors:貢獻者列表bugs:可以反饋bug的網(wǎng)頁或郵箱地址licenses:許可證列表respositories:托管源碼的位置列表dependencies:依賴項列表homepage:網(wǎng)站地址os:操作系統(tǒng)支持列表cpu:CPU架構支持列表engine:支持的JS引擎列表builten:是否內(nèi)建在底層系統(tǒng)的標準組件directories:目錄說明implements:實現(xiàn)規(guī)范的列表scripts:腳本說明對象

除了規(guī)范之外,還有擴展的字段:

authoer:作者bin:配置為命令行工具main:入口文件devDependencies:開發(fā)依賴項列表

NPM

NPM(node package manage)實踐了CommonJS的包規(guī)范 利用它,我們可以發(fā)布、安裝和依賴第三方模塊 我們下載Node的時候,其實已經(jīng)內(nèi)置了npm,所以我們不用再下載 NPM常用指令如下:

命令 含義
$ npm 查看NPM幫助說明
$ npm -v 查看當前NPM版本
$ npm init 初始化包(配置package.json)
$ npm <command> 查看具體命令幫助說明
$ npm install <package> 安裝第三方包
$ npm uninstall <package> 卸載包
$ npm install <package> --save-dev 安裝包并將安裝信息寫入package.json(devDependencies)
$ npm install <package> --dev 安裝第包并將安裝信息寫入package.json(dependencies)
$ npm install <package> -g 全局安裝第三方包
$ npm install <file-url> 安裝本地包
$ npm adduser 注冊npm賬號
$ npm publish <folder> 上傳包
$ npm owner ls <package-name> 查看包擁有者
$ npm owner add <user> <package-name> 添加包擁有者
$ npm owner rm <user> <package-name> 刪除包擁有者
$ npm ls 分析包

簡單說幾個吧

幫助

npm查看幫助

幫助列舉了所有的命令


npm -v 查看當前npm版本

初始化包

npm init 輸入這個命令后 會讓你填寫包名、包簡介等等信息 然后我們的文件就會動態(tài)生成一個package.json文件

如果我們的包要發(fā)布的話,這些就要好好填寫了 包名就是發(fā)布的名字 不過我們在本地練習,就直接一路回車就好了 此時就會發(fā)現(xiàn)package.json已經(jīng)存在我們的目錄下了 當然我們也可以不使用這個命令,手動編寫package.json

依賴包安裝

安裝依賴包使用命令$ npm install <package> 比如說我下一個exPRess

下載完畢后,放在了根目錄的node_modules下

第三方模塊也可能依賴其他的第三方模塊 如果直接下載會報錯(錯誤信息會提示缺少什么包) 那么我們要想使用它,就必須下它所依賴的包


鉤子命令

在我們的package.json的scripts字段提供了鉤子機制

"scripts": { "preinstall": "preinstall.js", "install": "install.js", "uninstall": "uninstall.js", "test": "test.js"}

比如我們這樣寫 那么在執(zhí)行$ npm install <package>的時候 就會執(zhí)行preinstall的屬性值preinstall.js腳本 然后執(zhí)行install的屬性值install.js腳本 執(zhí)行$ npm uninstall <package>的時候 又會執(zhí)行uninstall.js腳本做一些清理工作 執(zhí)行$ npm test又會執(zhí)行test.js


更多關于npm的信息可以查看官網(wǎng):傳送門 實際上現(xiàn)在出現(xiàn)一個比npm還要好的包管理工具 其實和npm用法幾乎一樣的 下一篇文章我再來談一談

==主頁傳送門==


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲免费在线视频 | 久久草草亚洲蜜桃臀 | 久久91亚洲精品久久91综合 | 欧美四级在线观看 | 日韩精品羞羞答答 | 色阁五月| 在线亚洲免费视频 | 亚洲网站免费 | 九九热精 | 成人在线激情视频 | 99视频观看| 二级大黄大片高清在线视频 | 国产精品99久久久久久大便 | 精品国产一区二区三区四区在线 | 免费a观看 | av免费在线观看国产 | 久久久久久久一区二区三区 | 91短视频版高清在线观看免费 | 看免费黄色大片 | 国产噜噜噜 | 亚州精品国产 | 欧美aⅴ在线观看 | 羞羞羞羞视频 | 羞羞视频免费网站含羞草 | 久久成人视屏 | 国产精品一区视频 | 成人福利视频 | 国产一区二区三区四区精 | 日韩黄色一级视频 | 国产日本在线播放 | 92看片淫黄大片欧美看国产片 | 欧洲黄视频 | 国产一级小视频 | 色999国产 | 日本娇小videos高潮 | 国产精品久久久久久久av三级 | 精品国产一区二区三区久久久蜜月 | 久久免费综合视频 | 亚洲国产精久久久久久久 | 成人mm视频在线观看 | 成人福利在线免费观看 |