2017-02-11 45 views
1

所以,我的問題是,我想添加一些console.log()到我已經在我的項目中已經安裝的包的js文件。如何修改是其他包的依賴包 - MeteorJS

我試圖添加這些行的包是aldeed:autoform,因爲我發現了函數中的一種錯誤,我想用一個解決方案做出貢獻。

爲了修改一個包,我已經做了以下步驟:

  1. 克隆GitHub的回購爲myProject/packages/文件夾內自動窗體。
  2. 修改了我想要的行。
  3. 改變內部Package.describe({})名稱值(設置爲 aldeed-autoform-modified
  4. 刪除aldeed:autoform從我的項目(meteor remove aldeed:autoform
  5. 加了我的自動窗體的修改版本(meteor add aldeed:autoform-modified

的問題是,由於我也使用了具有aldeed:autoform作爲依賴項的antoher軟件包,該軟件包被自動安裝,然後當我運行我的項目時,它會顯示一個錯誤,說明一個模板(與AutoForm相關)被定義兩次,而th是有道理的,因爲autoform包和修改後的模板都有這個定義,並且都包含在項目中。

我該怎麼辦?修改一個依賴別人的軟件包的正確方法是什麼?

+1

爲什麼要改名字?本地版本應覆蓋在線提供的版本。 – MasterAM

+0

我看到這裏的推薦[鏈接](http://stackoverflow.com/questions/15765591/how-to-modify-edit-a-meteor-package) –

+0

@MasterAM是的!有效。在本地版本中將名稱更改回爲'aldeed:autoform',並覆蓋原來的名稱。 –

回答

0

如果您想修改現有的軟件包,您可以使用它的本地版本。

沒有必要修改它的名稱,如果另一個包依賴它,更改名稱將導致依賴包不使用您的修改版本。

只需將軟件包存儲庫克隆到項目的/packages目錄或METEOR_PACKAGE_DIRS環境變量所指示的目錄中即可。

你可以在Meteor Guide找到更多細節。