前端工程化 - npm

什麼是npm前端

npm的全稱Node Package Manager,npm原先只是做爲nodejs的包管理工具,然而隨着前端社區的發展,現在npm不只是nodejs的包管理工具,仍是前端js的包管理工具。node

更新npmexpress

安裝過nodejs都知道,nodejs的安裝會順便安裝上npm,因此這裏不講如何安裝npm。經過命令npm update -g npm能夠進行npm的更新npm

牆的問題json

由於牆的緣由,在國內使用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來進行包的安裝,更新和卸載測試

(方法三) 設置全局鏡像源npm config set registry https://registry.npm.taobao.orgcode

經常使用命令blog

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

使用npm shrinkwrap來管理包的依賴

在項目開發中咱們每每須要安裝和升級相應的包,然而咱們在開發的過程當中使用的包版本和開發完成後進行部署的時候(npm install),包的版本可能會存在差別,這種差別可能就會致使項目運行報錯。爲了不這種錯誤的發生,咱們可使用npm shrinkwrap來解決這個問題。

在開發過程當中,引入一個新包的流程以下

  • 執行npm install --save package-name@package-version
  • 進行實際開發
  • 執行npm shrinkwrap
  • 將代碼,package.json和npm-shrinkwrap.json提交到版本倉庫

在開發過程當中,更新一個包的流程以下

  • 執行npm outdated獲取項目全部依賴的更新信息
  • 執行npm install --save package-name@package-version
  • 進行實際開發和功能測試
  • 執行npm shrinkwrap
  • 將代碼,package.json和npm-shrinkwrap.json提交到版本倉庫

在開發過程當中,刪除一個包的流程以下

  • 執行npm uninstall --save package-name
  • 進行測試
  • 執行npm shrinkwrap
  • 將代碼,package.json和npm-shrinkwrap.json提交到版本倉庫

建立私有的npm鏡像

  • 安裝sinopianpm install -g sinopia
  • 啓動sinopia,執行sinopia

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

  • 建立新用戶npm adduser --registry http://localhost:4873
  • 發佈包npm publish
    在提交包以前須要到~/.config/sinopia/config.yaml配置文件中刪除proxy: npmjs這行配置項,這樣才能將包提交到本地私有源
  • 安裝包,安裝包以前須要將鏡像源指向私有的源,如npm config set registry http://localhost:4873
相關文章
相關標籤/搜索