我試圖製作一個使用Node服務器作爲後端的Web應用程序,Angular從Node服務器獲取信息並創建響應式前端。目前,在我的簡單應用程序中,我有兩個js文件:server.js
和controller.js
。下面是每個文件的代碼:將NodeJS與Angular集成的最佳方式
var express = require("express");
var bodyParser = require("body-parser");
var app = express();
var port = 8006;
app.use(express.static(__dirname));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.post('/data', function(req, res){
console.log(req.body);
res.send("Success!")
res.status(200);
res.end();
});
app.listen(port);
console.log("Server running on port " + port);
和這裏的控制器文件:
(function(){
var app = angular.module("testApp", []);
var TileController = function($scope){
// add stuff to $scope as initilization
};
app.controller("TileController", ["$scope", TileController]);
})();
此代碼是有點不完整的,因爲我不知道去哪裏,但我知道是什麼我想用它做。
Angular使用的模型將通過傳入的HTTP請求(特別是POST)由節點服務器解析的信息不斷更新。 Node將處理這些請求,並以某種方式將數據傳遞給Angular(在controller.js文件中),這將更新模型,並隨之更新視圖。
我的問題是什麼是從節點服務器傳遞信息到controller.js並在信息添加時更新模型/視圖的最佳方式?
什麼你問的是現實實時功能(節點接收數據時自動更新角度範圍)。在此之前,我建議儘量完成同樣的任務,但不要實時完成。 (例如,在角度上有一個按鈕,用於獲取來自節點的最新數據的GET)。 –
所以你是說角度應該向節點服務器發出請求? –
從那裏,實現(幾乎)實時同步的天真但簡單的方法是刪除按鈕的角度,但無限地每隔X秒從節點角度GET數據。 –