日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《深入浅出Nodejs》笔记——模块机制(2)

發(fā)布時間:2025/5/22 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《深入浅出Nodejs》笔记——模块机制(2) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

書上還有很大一部分講了C/C++模塊的編譯過程、核心模塊編寫和C/C++擴展模塊的內(nèi)容,不過我對C++一竅不通因此沒有仔細看,如果以后需要再自習看吧。

包與NPM

第三方模塊中,模塊和模塊之間是散列在各地的,互相之間不能直接引用。而在模塊之外,包和NPM則是將模塊聯(lián)系起來的一種機制。
CommonJS的包規(guī)范定義其實也十分簡單,它由包結(jié)構(gòu)和包描述文件兩個部分組成,前者用于組織包中的各種文件,后者用于描述包的相關(guān)信息,以供外部讀取分析。

包結(jié)構(gòu)

包實際上是一個存檔文件,即一個目錄直接打包為.zip或tar.gz格式的文件,安裝后解壓還原為目錄,完全符合CommonJS規(guī)范的包結(jié)構(gòu)應該包含如下這些文件:

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

包描述文件與NPM

包描述文件用于表達非代碼相關(guān)的信息,它是一個JSON格式的文件——package.json,位于包的根目錄下。文件中的字段就不放上來了(字太多了);

NPM常用功能

1.查看幫助

安裝Node之后,執(zhí)行npm -v可以查看當前NPM版本:

執(zhí)行NPM查看幫助引導說明:

使用npm help <command>可以查看具體命令說明,執(zhí)行命令后會在瀏覽器打開一個說明文檔。

2.安裝系統(tǒng)依賴包

安裝系統(tǒng)依賴包是NPM最常見的用法,它的執(zhí)行語句是npm install <packageName>。執(zhí)行命令后Node會在當前目錄下創(chuàng)建node_modules目錄(如果當前目錄下不存在這個目錄),然后在node_modules中創(chuàng)建對應包名的目錄,然后將壓縮包解壓到這個目錄下。安裝好依賴包后就可以通過require(<packageName>)來引入包。

全局模式安裝

如果包中含有命令行工具,那么需要執(zhí)行npm install <packageName> -g來進行全局模式安裝。

全局模式這個稱謂具有誤導性,全局模式安裝并不是將一個模塊包安裝為一個全局包,它并不意味著可以從任何地方用require()引用到這個模塊。它實際上是將一個包安裝位全局可用的可執(zhí)行命令,它根據(jù)包描述文件中的bin字段配置,將實際腳本鏈接帶與Node執(zhí)行文件相同的路徑下。

通過全局模式安裝的包都被安裝進了一個同一目錄下,這個目錄可以用如下方式推算出來:

path.resolve(process.execPath, '..', '..', 'lib', 'node_modules');

從本地安裝

對于一些沒有發(fā)布到NPM上或者因為網(wǎng)絡原因沒下載的包,可以通過將包下載到本地,然后以本地安裝。本地安裝只需為NPM指明package.json文件所在的位置即可:它可以是一個包含package.json的存檔文件,也可以是一個URL地址,也可以是一個目錄下有package.json文件的目錄位置:

npm install <tarball file> npm install <tarball url> npm install <folder>
從非官方源安裝

如果不能通過官方源安裝,可以通過鏡像源安裝。在執(zhí)行命令時,添加--registry=http://registry.url即可,示例如下:

npm install underscore --registry=http://registry

可以指定默認源:

npm config set registry http://registry.url

3.NPM鉤子命令

4.發(fā)布包

編寫模塊
//hello.js exports.sayHello = function () {return 'Hello, world.'; }
初始化包描述文件

可以在包目錄下使用npm init來生成package.json文件:

注冊包倉庫帳號

執(zhí)行npm adduser然后按順序進行即可。

上傳包

在package.json文件所在目錄下,執(zhí)行npm publish。

安裝包

執(zhí)行npm install <packageName> --registry=https://registry.npmjs.org/。

管理包權(quán)限
npm owner ls <packageName> npm owner add <user> <packageName> npm owner rm <user> <pacjageName>
分析包

npm ls可以列出當前路徑下能夠通過模塊路徑找到的所有包,并生成依賴樹:

局域NPM

NPM潛在問題

前后端共用模塊

轉(zhuǎn)載于:https://www.cnblogs.com/FJH1994/p/5865024.html

總結(jié)

以上是生活随笔為你收集整理的《深入浅出Nodejs》笔记——模块机制(2)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日韩欧美一区二区三区免费观看 | 欧美性猛交xxxx免费看久久久 | 国产又粗又猛又爽又黄视频 | 日韩 欧美 自拍 | 致单身男女免费观看完整版 | 美国黄色网址 | 欧美专区在线视频 | 伊人网在线免费观看 | 亚洲天堂精品在线 | 国产美女网站视频 | 欧美性久久久久 | 欧美综合亚洲 | 黄色大全在线观看 | xxxx 国产 | 黄色一及片| 人人澡人人澡人人澡 | 日本高清无吗 | 色婷婷中文字幕 | 国产清纯白嫩初高中在线观看性色 | 亚洲欧美成人一区二区三区 | 精品国产999 | 97色在线视频 | 精品少妇一二三区 | 欧美大肚乱孕交hd孕妇 | 日本不卡123| 国产精品视频一二三区 | www日本视频| 久久精品亚洲 | 国产黄色电影 | 国产亚洲精久久久久久无码苍井空 | 日韩成人久久 | 超碰在线观看免费 | 人妻无码中文字幕 | 亚洲国产婷婷 | 男女午夜视频在线观看 | 日韩午夜视频在线 | 久久天堂视频 | 男人天堂2019| 中文字幕第页 | 欧美不卡一区二区三区 | 秋霞一级全黄大片 | 国产日产亚洲精品 | www.射| 爱情岛亚洲论坛入口福利 | 手机看片日韩国产 | 五月天中文字幕在线 | av一级二级 | 亚洲国产精品一 | 含羞草一区二区三区 | 男人的天堂免费av | 青青草.com| 国产一区二区视频免费在线观看 | 性感少妇av| 国产欧美在线精品日韩 | 午夜看片 | 黄色aaa视频 | 免费一级a毛片 | a毛片 | 日韩免费专区 | 国产日韩欧美 | 日本黄色高清视频 | 国产高清自拍一区 | 在线视频欧美一区 | 天天拍天天色 | 国产无遮挡一区二区三区毛片日本 | 中文字幕精品视频 | 日本三级一区二区三区 | 国产欧美日 | 精品国产丝袜一区二区三区乱码 | 欧美h视频在线观看 | 亚洲色图在线播放 | 日韩无码精品一区二区三区 | www亚洲成人 | 国产又粗又大又硬 | 韩国一区二区视频 | 天天操天天干天天爽 | 木木影院 | 亚洲图片三区 | 99热播精品 | 淫五月 | 好吊色视频一区二区三区 | 日本免费网站 | 三女警花合力承欢猎艳都市h | 快播av在线| 天天碰天天碰 | 午夜影院在线观看18 | 国产传媒国产传媒 | 关秀媚三级 | jjzz黄色片| 色爽 av| 青青草色视频 | 黄色aa大片 | 成年人免费在线视频 | 日韩精品一区二区三区四区 | 美女福利视频一区 | 国产毛片一区二区 | 稀缺小u女呦精品呦 | 亚洲黄色影院 | 欧美一区二区三区四区五区六区 |