2017-04-14 69 views
4

我想貢獻一個開源React組件,我想在我的webpack包中使用該項目的一個分支。使用yarn + webpack從叉子安裝npm包 - 無法解析'./dist/

我使用的紗線和我嘗試使用

yarn add github:Startouf/react-coverflow 

但是安裝我的叉子時的WebPack試圖編譯我的包,它提出了奇怪的錯誤

ERROR in ./~/react-coverflow/main.js 
Module not found: Error: Can't resolve './dist/react-coverflow' in '/Users/Cyril/dev/MyApp/client/node_modules/react-coverflow' 

我錯過了什麼?

編輯:當我使用發佈包從NPM,節點模塊文件夾包含

LICENSE  README.md dist  main.js  package.json 

當我使用我的叉子,好像這個項目沒有被編譯幷包含

LICENSE   README.md  package.json  src   webpack.config.js 
Makefile  main.js   site   test 

似乎我錯過了一個步驟...我雖然做紗線添加與github叉會自動發佈,但似乎我是錯的?

+0

我猜叉失去了一些東西。嘗試檢查和打開問題。 –

+0

@TatsuyukiIshi即使在沒有額外提交的同一個項目的分支上它不起作用(當然主要回購工作正常) –

回答

3

不幸的是,直接使用存儲庫作爲源可能導致執行錯誤。這是因爲它沒有捆綁在一起,而包需要預編譯版本存在於dist。綁定腳本通常在將發佈發佈到npm之前執行。

一些解決方法是:

  • 執行在目標目錄中的prepublish步驟(這取決於 什麼項目使用),當然
  • ,使用公佈的版本是最好的。在npm上創建你自己的包並上傳它。

參考文獻:npm issue

+0

謝謝!我只是編輯添加這個信息,我會看看你的鏈接。如果只是爲了調試,我可以在本地運行腳本,但是我希望保留自己的分支直到PR通過,所以我想我必須按照你的說法釋放我的軟件包,如果我希望能夠在生產中使用它:'( –

+0

)您可以詳細說明預發佈所需的步驟嗎?我嘗試在node_module目錄中cd,運行package.json中的'yarn'和'yarn run prerelease'。 'm當前停留在構建項目,因爲它使用註釋,我顯然沒有預處理器,但我想檢查我正在做的事 –

+0

'prerelease'應該做這項工作。你目前的錯誤是什麼? –