[英]How to Override Meteor Core Packages in a Project?
對於Meteor項目,我想更改Meteor Core庫文件。
這是可能的,如果是的話,怎么樣?
到目前為止,我已經嘗試將文件復制到我的項目目錄中,希望相應的對象只是從原始文件覆蓋,但問題是依賴函數或變量只在本地定義。
然后我嘗試將它們git clone
到項目的packages
目錄中,就像使用社區包一樣,但由於克隆命令失敗( fatal: repository ... not found
),並且包也未明確,因此無法正常運行在.meteor / packages文件中調用。
任何想法?
Meteor允許在項目中使用本地包,包括覆蓋現有(社區或核心)包的包。
雖然在本地覆蓋社區包通常只需要將GitHub存儲庫克隆(或提取或添加為子模塊)到/packages
文件夾中,但核心包當前存在於主流星meteor/meteor
存儲庫的子目錄中,這使得克隆它們變得更加棘手。
覆蓋核心軟件包可能需要您手動將更改作為Meteor或軟件包更新(因為Meteor過去依賴於特定的軟件包版本)。
因此,在采取這樣的步驟之前,請確保您確實需要這樣做 。
確保您不能使用本地文件或您自己的本地軟件包進行更改(例如,通過包裝或替換功能或對其進行修補)。
我使用了一些方法來覆蓋核心包。
如果要將更改貢獻給項目,這非常有用。 您應該分叉存儲庫並克隆自己的fork。
克隆流星存儲庫:
\n git clone https://github.com/meteor/meteor.git\n
要么
git clone git@github.com:<username>/meteor.git
如果你分叉它
packages
目錄中) \n ln -s ../../(...)/meteor/packages/\n當然,您可以簽出所需的分支/提交並將它們復制到本地
packages
目錄。 有一個巧妙的技巧,允許您使用svn
從GitHub下載給定的目錄。
這是通過發出:
svn export https://github.com/meteor/meteor/[trunk|branches/]/packages/
例如:
從devel
分支克隆ddp-client
:
svn export https://github.com/meteor/meteor/branches/devel/packages/ddp-client
或從master
分支:
svn export https://github.com/meteor/meteor/trunk/packages/ddp-client
筆記:
meteor add <package>
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.