npm link本地開發調試組件庫/模塊包

  如果很多前端項目共用一個組件/方法,那麼這個組件/方法就會被剝離出來,抽取出來的多了,就會成爲組件庫/模塊包,這樣做的好處就是,每次我們只要單獨對組件庫/模塊包進行維護就可以達到所有項目裏所引用組件/模塊的更新。

  以vue項目的組件庫(fe-standard-libs)爲例,組件庫地址會在package.json中被定義

{
  "name": "app",
  "version": "1.0.0",
  "description": "A Vue.js project",
  "scripts": {
    "dev": "vue-cli-service serve",
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build --no-module",
  },
  "dependencies": {
    ...
    "fe-standard-libs": "git+https://xxxx.com/xxxx/xxxx.git#xxxxxxxx",
  },
"devDependencies": {
    ...
  }
}    

  但是每次對組件庫進行維護的時候,就會出現無法,或是說很難進行調試的情況,總不能憑着感覺改,然後直接推到遠程倉庫更新組件庫,最後在生產環境裏驗證吧,所以,這個時候就需要npm link來幫忙進行本地開發調試。

  首先,先進入本地組件庫fe-standard-libs項目,然後執行npm link命令。即先cd fe-standard-libs,然後npm link。這個時候,這個項目會被鏈接到全局,windows下的路徑是:{prefix}/node_modules/<package>,如果不知道prefix值的話,可以執行命令npm config get prefix獲取。

   然後,你就可以在這個文件夾下找到fe-standard-libs項目的快捷方式。

   然後進入你的開發項目,叫app好了,先cd app,然後npm link fe-standard-libs。這個時候你到app/node_modules文件夾下去查看,也會發現多了一個fe-standard-libs項目的快捷方式,這個會優先於package.json下載下來在node_module的同名文件。然後npm run dev啓動項目app,你就可以在項目fe-standard-libs中修改代碼了,代碼也會同步更新顯示在app的頁面中,如果app項目有開啓熱更新的話,你也可以看到同步看到Terminal執行熱更新的過程。

  最後,如果開發調試完了,app與fe-standard-libs之間的軟鏈接沒去掉不管也沒關係,但是要是有強迫症必須要去掉也行,在app項目中執行npm unlink fe-standard-libs即可斷開二者的聯繫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章