2017-10-10 58 views
0

所以我在git中分了一個軟件包。做了我的改變。然後在我的終端Webpack無法導入從git安裝的軟件包

npm install --save git+https://github.com/hayk94/ddp.js.git 

然後我嘗試在我的代碼導入的包,因爲這

import DDP from 'ddp.js' 

不過的WebPack給了我這個錯誤

ERROR in ./main.js 
Module not found: Error: Can't resolve 'ddp.js' in '/Users/hayksafaryan/projects/b2cEmbedLib' 
@ ./main.js 23:11-28 
@ multi (webpack)-dev-server/client?http://localhost:8080 babel-polyfill ./main.js 
webpack: Failed to compile. 

不過的WebPack如果我工作正常從npm安裝軟件包。 我像在文檔中一樣導入軟件包,但是對於安裝git的軟件包可能有其他方法嗎?

回答

2

package is lib/ddp.js的入口點,但該文件在存儲庫中不存在。圖書館在發佈到npm之前構建圖書館是非常常見的,這樣他們就可以使用更新的JavaScript功能,但仍然支持不支持它們的舊版本。這是通過prepublish hook完成的,該包在發佈包之前自動運行(當您運行npm publish時)。因此,構建的文件不會存儲在存儲庫中,因爲它主要會影響您的提交。有些人決定檢查他們,以便他們可以直接從那裏使用它,這已變得非常罕見,因爲這些用例通常由Unpkg之類的服務覆蓋。

你有幾種可能使用它從一個git倉庫。

  • 檢入內置文件。
  • 安裝後生成文件。手動或使用postinstall鉤子。 (不建議
  • 將入口點更改爲src/ddp.js。如果您需要傳輸文件,這不是一個有效的選項,即使您理論上可以將您的webpack配置中的軟件包列入白名單,以便它被轉發(假設您不包括node_modules被轉發)。
  • 將包發佈到您的名稱空間(@yourusername/ddp.js)下的npm並使用它。詳情請參閱Working with scoped packages