簡體   English   中英

Webpack無法導入從git安裝的軟件包

[英]Webpack can't import package installed from git

所以我在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.

但是,如果我從npm安裝軟件包,則webpack可以正常工作。 我導入了文檔中的軟件包,但是git安裝的軟件包可能還有其他方法嗎?

軟件包的入口點lib/ddp.js ,但是該文件在存儲庫中不存在。 庫在發布到npm之前先構建它們的庫是很常見的,這樣它們就可以使用較新的JavaScript功能,但仍為不支持它們的較舊版本提供支持。 這是通過prepublish鈎子完成的,該鈎子會在包發布之前自動運行(運行npm publish )。 這樣一來,構建的文件就不會最終出現在存儲庫中,因為它主要會使您的提交變得混亂。 有些人決定將它們檢入以便可以從那里直接使用它,這已經變得非常罕見,因為這些用例通常由Unpkg之類的服務覆蓋。

您可以從git儲存庫中使用它。

  • 檢入生成的文件。
  • 安裝后生成文件。 手動或使用postinstall掛鈎。 不推薦
  • 將入口點更改為src/ddp.js 如果您需要轉譯文件,即使從理論上講您可以將Webpack配置中的軟件包列入白名單,但這也不是一個有效的選擇,因此可以進行轉譯(假設您不node_modules將node_modules編譯出來)。
  • 將軟件包發布到名稱空間下的npm( @yourusername/ddp.js )並使用它。 有關詳細信息,請參見使用作用域包

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM