2017-07-04 9 views
0

私はサーバー側のノードアプリケーションを持っており、このアプリケーション用の基本的なWebインタフェースを追加したいと思います。私はintroductory vue.js tutorialsに従っていますが、私がやろうとしていることに関連するものは見当たりません。私はいくつかの基本的なhttpサーバのコードを追加したアプリケーションのためのWebインターフェイスを追加するために、今すぐvue.jsを使用してサーバ側のデータをいくつかのhtml要素にバインドする方法

var state = { message: 'hello world', count: 0 }; 
function work() { 
    state.message = 'hello world ' + (state.count++); 
} 
setInterval(work, 1000); 

は、私は、このサーバ側のノードのアプリを持っていることを、想像し

var state = { message: 'hello world', count: 0 }; 
function work() { 
    state.message = 'hello world ' + (state.count++); 
} 
setInterval(work, 1000); 

var http = require('http'); 
var port = process.env.PORT || 1337; 

http.createServer(function (req, res) { 
    res.writeHead(200, { 'Content-Type': 'text/plain' }); 
    res.end('message: ' + state.message+'\n'); 
}).listen(port); 

それを "作品 ":ページを更新すると、アプリのstateの値が表示されます。今度は、この単純なアプリケーションを更新して、サーバー側で行われた状態の変更を反映するために、クライアント側のビューを自動的に更新したいと考えています。そのWebページを変更して、毎秒または毎秒のようにサーバーの変更を反映するように自動的に更新することができますが、私はそれを正確に行うように設計されたものを探しています。最終的には、そのWebインターフェイスを変更してそのサーバーの状態の一部を変更できるようにする必要があります(たとえば、state.countを変更する)。これはどうすればvue.jsで行うことができますか、それ以外のものを使用する必要があります。または、単純なコードでHTTP POST/GETを使用して更新されたstate.countをWebインターフェイスに渡す必要がありますか?

+1

はあなたの「フロントエンド」と「バックエンド」を分割してみてください - 少なくともあなたは本当にvue.js.で何かを構築したい場合あなたが本当に1つのページだけを提供したい場合は、jadeのような任意のテンプレート言語を使い、特定の時間が経過した後に更新するビューにデータを渡すことができます –

答えて

1

説明しているのはウェブソケットです。現在のコードでは、接続を作成してから、res.endに電話すると接続を終了します。

あなたは、一定の要求を必要とせずにサーバーとフロントエンドの間のオープンな接続を可能にするものが必要です。 https://socket.io/を見て、特定のVueの実装:

https://medium.com/@michaelmangial1/getting-started-with-vue-js-socket-io-8d385ffb9782

関連する問題