我發現並修正了第三方Meteor軟件包中的錯誤。在測試修復程序時,我遇到了一些意想不到的困難,我在下面描述。如何編輯Meteor的第三方軟件包
在Meteor中測試已修補的第三方軟件包的建議方法是什麼?
在Mac上,從Atmospherejs.com命令meteor add username:package-name
將文件複製到該文件夾在~/.meteor/packages/username_package-name/
。我找到了這個文件夾中的原始文件並對其進行了編輯。
問題很簡單。原來的劇本包括線...
options.userCallback = function (error) {
if (error.error ...) {}
所有我需要做的是把這裏改爲:
options.userCallback = function (error) {
if (error && error.error ...) {}
不過,我現在又增加了9個字符到文件。當Meteor編譯我的應用程序時,會切斷腳本的最後9個字符,並導致運行時錯誤。據推測,Meteor將文件的預期長度存儲在某處。作爲一個黑客,我從文件中刪除了更多9個無關緊要的空白字符。現在流星抱怨說它無法讀取整個文件。所以我在文件末尾添加了太多空白,而流星很樂意修剪它不想要的字符。
我現在能夠檢查我的修復程序是否有效,並在其GitHub頁面上發佈該程序包的問題,以便原始開發人員可以發佈修復程序。
此特定軟件包是作爲其他軟件包的一部分包含的,因此它是作爲meteor add otheruser:different-package-name
命令的結果安裝的。
什麼是接受的方法來覆蓋存儲在默認包位置的文件,這樣就可以使用補丁版本來代替,而不需要流星獲得關於腳本文件中確切字節數的持久性?
「手動檢索已更改的回購作爲一個包並將其包含在流星包文件中」<<<你能給我更詳細的關於如何「手動檢索」它以及它應該去的地方的詳細信息,以覆蓋正式流星添加版本? –
@JamesNewton更新了答案 –