2012-05-30 35 views
2

我想知道是否有任何方法可以連續使用Trigger.io進行開發,並避免在我想要在瀏覽器或模擬器中測試每個文件更改的僞造構建步驟。Trigger.io不斷髮展

回答

3

我面臨着同樣的問題,我已經得到了使用watchr一個可行的解決方案,並看管自動重建每次我對源文件進行更改。如果您正在運行應用程序的「網絡」版本,則可以對源文件進行更改並直接轉到瀏覽器,並根據構建所花費的時間快速查看所做更改的效果。

先決條件:Ruby,watchr,Unix'watch'和一個終端。

  1. gem install watchr。
  2. 爲看護者創建一個新的ruby文件,以便知道要監視哪些文件以及在發現更改時應該怎麼做。我將我的文件命名爲'my_watch.rb':https://gist.github.com/3153167
  3. 打開兩個終端。終端1將運行監視器,終端2將運行'僞造...'。
  4. 在終端1中運行'watchr my_watch.rb',確保my_watch.rb的路徑正確,並確保您已根據您的設置編輯my_watch.rb,以便watch(...)內的路徑反映要觀看的文件。我的例子觀察與my_watch.rb腳本相同的目錄(和下方)中的所有文件。如果您想匹配我的示例並直接從src文件夾運行watchr my_watch.rb,則可以將my_watch.rb放置在Trigger.io應用程序的「src」文件夾中。也不需要更新塊中的shell命令和路徑以反映您的環境。再次,在我的例子中'my_watch.rb'在'src /'裏面,所以當檢測到一個變化時,我們上一個目錄並調用'僞造'。
  5. 我傾向於用我的應用程序的'web'版本積極開發,所以我可以打開終端2到我的僞造項目目錄和'僞造運行web'。當我在模擬器和設備上進行測試時,是的,每次我想看到更改時,都必須運行僞造構建。不過,我通常不需要等待僞造完成,因爲一旦我做出改變,看守就立即開始構建,並且它很快就會發生。

我知道這不是一個理想的解決方案,但到目前爲止,先在'web'版本中開發新功能,然後在移動版本中實現對我來說一直非常流暢。我從未需要在構建完成後殺死「網絡」版本,但我可能只是幸運。至於每次你想測試移動版本時運行構建,如果你對你的鍵盤快捷鍵感覺不錯的話,它確實不算糟糕。在創建原生iOS應用程序之後,XCode使您可以在對源代碼進行更改後進行構建和運行,因此我不認爲Trigger在需要此構建步驟時是唯一的。

我希望這會有所幫助,而且我的回答對我和我的設置都不太具體。

+0

沒有,看起來真的很有幫助。謝謝。我打算將其標記爲答案。 –

3

構建階段對源代碼進行了一些更改,以啓用僞造。* API - 因此,嘗試僅使用src目錄中的原始文件將不起作用。

您可能會試圖直接在development目錄中更改文件,但這是一個非常糟糕的主意:我們在需要時刪除那些逍遙法外的文件!

我們計劃在中期路線圖中添加文件系統監視器,以便在發生更改時自動開始構建。

在此期間,我只是用forge build && forge run PLATFORM這往往只需要幾秒鐘......

+1

一個觀察者會很棒。我做了很多RoR開發,並且通常不必重新啓動服務器就可以爲* most *文件提供新的更改。我們甚至使用Live Reload來自動更新瀏覽器的html/css更改,而無需重新加載瀏覽器。我可以理解這對iOS/Android來說不是很容易(雖然請查看http://irrationalfab.github.com/blog/2012/05/22/introducing-live-for-rubymotion/),但至少在運行時節點這應該只是工作。 –

0

雖然不完美...這對我有用。

進入開發/網頁

RM SRC

鏈接到你的根SRC,即LN -s ../../src SRC

從網站複製all.js /建立並添加到您的index.html

開始nodemon web.js

在瀏覽器中打開。

請注意,您需要註釋非web版本的all.js腳本標記。