簡體   English   中英

OpalRb與MeteorJS?

[英]OpalRb with MeteorJS?

我對Opal提供的使用純Ruby與CoffeeScript,當然還有JS的方式所提供的力量和優雅感興趣。

如何利用Opal for Meteor作為開發的主要語言?

更新 :只是想分享一下,我們已經將焦點轉移到Volt,以便在同構環境中實現我們的實時需求,從而提供從下到上的Ruby。 這是一次非常棒的體驗,甚至Matz 現在已經發了幾次關於它推文

是的,請查看如何在Meteor中實現coffeescript包,以便將.coffee編譯為.js 具體來說,如下

如果一切都設計得非常好,您可能不必觸摸捆綁器來創建將構建OpalRb文件的智能包。 但是,我猜你可能不得不在捆綁區域中發出一個拉取請求或者兩個核心,以便讓它與你的包很好地配合。 現在,預處理器單獨處理所有文件,這可能是您的語言無法實現的(我不確定。)但是,在此過程中,您將有助於使Meteor對其他JS方言和編譯器的支持更加出色!

我將重申我的觀點,如果你想要某種高級語言來編寫JS,Coffeescript似乎是理想的,特別是因為它支持用於調試的瀏覽器內源映射。

我剛剛發布了一個初始版本

這會將Ruby文件編譯為Javascript,但沒有特定的流星(尚未)。

我計划在某個時候將Meteor移植到Ruby類,請繼續關注甚至更好地提交拉取請求......

也許船上有點晚了:我在Meteor中為Opal寫了一個構建插件。
你可以在氣氛上找到它 https://atmospherejs.com/massimoronca/opal https://atmospherejs.com/mikamai/opal

您可以使用安裝插件

meteor add massimoronca:opal
meteor add mikamai:opal

.rb.js.rb結尾的每個文件都將自動編譯。

你將不得不包裝Meteor內置對象,直到我發布一個這樣做的包,你可以在這個要點中找到一個關於如何做到這一點的小例子https://gist.github.com/wstucco/42392ee21b76dfa3ef83

例如, Meteor全局對象可以像這樣包裝在Opal中

class Meteor
  def self.server?
    `Meteor.isServer`
  end

  def self.client?
    `Meteor.isClient`
  end

  def self.cordova?
    `Meteor.isCordova`
  end

  def self.startup(&block)
    `#{block.call if block_given?}`
  end
end

並用這種方式

puts "Hello from server" if Meteor.server?

編輯:在Mikamai帳戶下移動插件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM