2017-06-13 34 views
1

我有兩個模塊 - 我的主要項目和組件庫 - 我想要到lib鏈接到主項目。兩者都在使用webpack並作出反應。所以我做:包與故宮所鏈接不更新

在COMP-lib目錄:

NPM鏈接

在項目目錄:

NPM鏈接COMP-lib中

的包顯示在node_modules文件夾中,但是當我在組件上工作時圖書館的變化並未體現在主項目中。我錯過了什麼?

我無法在Google上找到關於此問題的一些信息,並且npm link doc只是對此示例進行了說明:「現在,〜/ projects/node-redis的任何更改都會反映在〜/ projects/node- bloggy/node_modules /節點redis的/「。

+0

'NPM鏈接'會創建一個符號鏈接,所以它基本上是相同的文件夾。你是否確定在修改它之後重建你的comp-lib文件,因爲package.json的'main'字段中指定的文件將被使用? – HiDeo

+0

是的,我重建它,輸出是:根目錄中的bundle.js。 package.json中的入口點是bundle.js。但是,也應該更新整個文件夾結構,對吧?如果我在組件文件夾中添加組件,我看不到它。 – SeBe

+0

呀應該,我不知道,如果它的工作原理相同的Windows上,但第一個命令創建您的COMP-lib文件夾一個符號鏈接到您的全局NPM文件夾('在/ usr/local/lib目錄/例如node_modules')和第二個從此前的全局文件夾到'project-dir/node_modules/comp-lib'。也許你可以檢查鏈接是否有效並指向正確的文件夾。 – HiDeo

回答

1

曾與配套聯在一起的類似的問題 - npm link dep是撿了老版「出發」的。

運行所npm link(再次)在「出發」文件夾中解決了這個問題。理論上它應該只被調用一次,但由於某種原因它有時會失去同步。

因此,爲了可靠地更新鏈接的項目,每次更改後執行這些步驟:

  1. 重建鏈接的項目
  2. 運行npm link
  3. 在主體項目運行npm link dep