2016-10-27 15 views
2

は例えば、index-{dev,opt}.htmlとしての私は、同じレベル(またはいくつかの他のWebアプリケーションにアクセス可能な場所)でmap.csvファイルがあるとしましょう。:Scala.jsでリソースファイルを読むには?

key1,value1 
key2,value2 
... 
keyN,valueN 

私はCSVをファイルとMap[String,String]で終わるということで読んでもらいたいです。私はScalaでそれを行う方法を知っていますが、Scala.jsではどのようにしますか?

私はキーと値をハードコードしないようにしています。

答えて

2

構文解析は、従来のScalaで行う方法と基本的に同じです。結局同じ言語です。

実際の問題は、ファイルをにフェッチすることです。そこにはすべての解決策はありません。たとえば、Webサーバーとして使用しているものによって異なります。私自身のシステムは、再生ベースで、the cognate codeは次のようになります。

override def postInit() = { 
    val ajaxCall:PlayAjax = controllers.Assets.versioned("messages/default/clientStrings") 
    ajaxCall.callAjax().map { messageText => 
    val hoconTable = HoconParse(messageText) 
    _messages = Some(MessagesImpl("", hoconTable)) 
    _readyPromise.complete(Success()) 
    } 
} 

詳細が私の(かなり複雑な)セットアップに特定されているが、基本的な原理は単純です:としてファイルをロードするためにAJAXコールを発行しますそのファイルを解析します。

他のオプションもあります。たとえば、ファイルserver-sideをロードして解析し、Autowireなどを使用して強く型付けされた構造としてクライアントに送信するなどのオプションがあります。それはあなたのインフラストラクチャの外観に依存します。

+0

私はこれに基づいて解決策を進めています。私はそれが働いていることを知らせます。ありがとう。 – gknauth

+0

これまでのところうまくいきませんでした。ChromeでAjaxを使用してローカルファイルにアクセスできないという情報を読んだので、別の方法を見つけなければならないと思います。 – gknauth

+0

ああ - はい、ローカルファイルは特別なバンドルですが、迷惑になりがちです。 –

関連する問題