2017-06-22 16 views
0

私はphoenixとelixirで簡単なチャットアプリケーションを構築していました。ステップの1つは、ソケットとプレゼンスをJavascriptにインポートすることでしたが、私は、ステップが私には分からない理由で動作していないと確信しています。私は私のapp.jsの先頭に次の行を置く:"phoenix"機能から{Socket、Presence}をインポートできません。 Phoenix/Elixir

import {Socket, Presence} from "phoenix" 

私はデバッガでこの行をデバッグするとき、私はコンソールでPresenceを入力し、それは私にVM1416:1 Uncaught ReferenceError: Presence is not defined.を与え、私が見逃している可能性があり、いくつかの設定はありますか?おそらくブランチや何か?

+0

でJavaScriptのスコープについての詳細を読むことができます。私はこれが、あなたがここで言及したように、資産がどのようにコンパイルされているかのように、簡単にデバッグできるかどうかは分かりません。 –

+0

"phoenix"からPhoenixとして 'import * 'を試してみて、' Phoenix.Presence'を使ってください – Ankanna

答えて

0

コンパイルされたコードは匿名関数でラップされるため、Presenceのスコープは匿名関数の外部に漏れません。

あなたはPresenceがグローバルに利用できるようにしたい場合は、のような何かを行うことができます。そして、それはあなたのコンソールで動作します

import {Socket, Presence} from "phoenix" 
window.Presence = Presence; 

あなたはこの答えは、インポート後に `にconsole.log(プレゼンス)`権利を行うことを試みることができるhttps://stackoverflow.com/a/500459/219743

関連する問題