前端工程化 - npm

前端工程化 - npm

什么是npm

npm的全稱Node Package Manager,npm原先只是作為nodejs的包管理工具,然而隨著前端社區(qū)的發(fā)展,如今npm不僅是nodejs的包管理工具,還是前端js的包管理工具。

更新npm

安裝過nodejs都知道,nodejs的安裝會順便安裝上npm,所以這里不講如何安裝npm。通過命令npm update -g npm
可以進行npm的更新

墻的問題

因為墻的原因,在國內(nèi)使用npm會比較慢,這時候可以使用淘寶的npm鏡像
(方法一) 每次使用npm的時候指定鏡像,npm install -g npm --registry=https://registry.npm.taobao.org

(方法二) 安裝cnpm,npm install -g cnpm --registry=https://registry.npm.taobao.org
,之后就可以使用cnpm替代npm來進行包的安裝,更新和卸載
(方法三) 設(shè)置全局鏡像源npm config set registry https://registry.npm.taobao.org

常用命令

npm init初始化bower生成package.jsonnpm
install package-name安裝,如npm install express,可以帶上--save參數(shù),這樣package.json中會寫入該包的信息
npm uninstall package-name卸載
npm update更新
npm list查看已安裝的包列表

使用npm shrinkwrap來管理包的依賴

在項目開發(fā)中我們往往需要安裝和升級相應(yīng)的包,然而我們在開發(fā)的過程中使用的包版本和開發(fā)完成后進行部署的時候(npm install),包的版本可能會存在差異,這種差異可能就會導(dǎo)致項目運行報錯。為了避免這種錯誤的發(fā)生,我們可以使用npm shrinkwrap
來解決這個問題。
在開發(fā)過程中,引入一個新包的流程如下

  • 執(zhí)行npm install --save package-name@package-version

  • 進行實際開發(fā)

  • 執(zhí)行npm shrinkwrap

  • 將代碼,package.json和npm-shrinkwrap.json提交到版本倉庫

在開發(fā)過程中,更新一個包的流程如下

  • 執(zhí)行npm outdated獲取項目所有依賴的更新信息

  • 執(zhí)行npm install --save package-name@package-version

  • 進行實際開發(fā)和功能測試

  • 執(zhí)行npm shrinkwrap

  • 將代碼,package.json和npm-shrinkwrap.json提交到版本倉庫

在開發(fā)過程中,刪除一個包的流程如下

  • 執(zhí)行npm uninstall --save package-name

  • 進行測試

  • 執(zhí)行npm shrinkwrap

  • 將代碼,package.json和npm-shrinkwrap.json提交到版本倉庫

創(chuàng)建私有的npm鏡像

  • 安裝sinopianpm install -g sinopia

  • 啟動sinopia,執(zhí)行sinopia


接著在瀏覽器地址欄中輸入http://localhost:4873/

  • 創(chuàng)建新用戶npm adduser --registry http://localhost:4873

  • 發(fā)布包npm publish在提交包之前需要到~/.config/sinopia/config.yaml配置文件中刪除proxy: npmjs這行配置項,這樣才能將包提交到本地私有源

  • 安裝包,安裝包之前需要將鏡像源指向私有的源,如npm config set registry http://localhost:4873

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容