2013-04-02 51 views
14

我想在同一臺服務器上運行兩個不同的Meteor應用程序(在不同的端口上),但我想在Meteor的一個核心軟件包中更改某些內容,我希望一個應用程序使用原始軟件包,另一個應用程序使用修改的軟件包。我怎麼能這樣做?如何修改/編輯流星包?

回答

1

您可以在GitHub庫獲取軟件包的文件:https://github.com/meteor/meteor/tree/master/packages

獲取你想要的文件,除了package.js文件,並將它們添加到您的項目。值得注意的是,你有時需要確保他們的加載順序,所以你可能需要修改文件名,看看加載順序看看package.js。默認情況下流星訂單文件的名稱,但包不一定使用。

你能避免重命名這些文件,如果你只是國防部包並將其重新添加使用meteoritehttps://atmosphere.meteor.com/wtf/packagehttps://github.com/oortcloud/meteorite

如何使一個smart.json完整說明。如果它有什麼好處,請考慮將它添加到atmosphere

+0

我想修改'accounts-base'包,只是一個文件更確切:'accounts_common.js'。在第38行有'users'集合的名字,當我將其更改爲'myusers'並將更改後的文件放在'〜/ myapp/packages/accounts-base/accounts_common.js'中時,Firebug中出現以下錯誤:'已經有一個名爲「myusers」的集合。我認爲這是因爲與修改後的文件一起運行的原始文件的衝突? –

+0

你是否刪除了正常的'accounts-base'?如果衝突,你有兩個定義'新收集(「myusers」)'某處 – Akshat

+0

不,我沒有刪除正常的「賬戶基礎」。我剛把你修改過的文件放在一個空目錄('〜/ myapp/packages/accounts-base')中,就像你告訴我的那樣。 –

20

有點更直截了當地回答,根據回答here

  1. 在您的項目,改變位置到該文件夾​​(「CD yourproject」 & &「的mkdir包」 & &「CD包創建包文件夾「)
  2. 取從git的文件(」混帳克隆https://github.com/YOUR_PACKAGE_ADDRESS「 - 你需要有git installed
  3. 內取出包文件夾中找到package.js和編輯內部」 Package.des cribe'的名稱值,例如通過添加'-manually-modified'
  4. 編輯您需要在抓取的包文件夾內修改的文件。
  5. 添加包項目在其根目錄(流星加包名 - 手動修改)
+0

我是否還必須編輯packages文件夾中的程序包路徑? – Gobliins

+0

有關步驟3(重命名包)的警告。如果其他已安裝的軟件包依賴於要修改的軟件包,則重命名將導致使用2個獨立的軟件包:原始軟件包和修改軟件包。這可能不是你想要的,所以建議不要在這些情況下重命名。請參閱[這個問題](http://stackoverflow.com/q/42178852/268093)作爲這樣的例子。 – MasterAM

+0

我遇到了一個問題,我無法修改.meteor/packages中的軟件包,但是這個步驟起作用。 –

0

我有我的包在我的用戶文件夾名爲.meteor一個隱藏文件夾。

也許你可以在那裏檢查?在Mac上這將是下:

〜/ .meteor /包/ 你的包名

還必須現在去到一個文件中,有os.json,並更改爲「長度」變量文件更改爲匹配新的字節文件大小。否則,它可能無法編譯,但先嚐試編譯,看看它是否改變了一些軟件包代碼。