在哪里以及如何将 nodejs 与 angularjs 一起使用
Posted
技术标签:
【中文标题】在哪里以及如何将 nodejs 与 angularjs 一起使用【英文标题】:where and how to use nodejs with angularjs 【发布时间】:2017-08-05 04:04:17 【问题描述】:我是 UI 框架开发的新手。目前我的要求是使用 anuglarjs 和 nodejs。我知道很少有人像我一样想知道确切的用途..
我很困惑,因为我需要在我的应用程序中使用 nodejs。 我试图找到一个使用 angularjs 和 nodejs 的简单现场演示示例(plunker/jsfiddle),但我找不到.
目前我已经使用 angularjs 编写了一个小模块,它访问 java 控制器类并保存/获取数据并在网页上显示数据。在这里我没有使用nodejs的地方。我试图在网上搜索以了解 nodejs 与 angularjs 的使用。 任何输入都会非常有帮助。
下面是我使用 angularjs 实现的示例 javascript 代码。
myDataCONtroller.js
//some code here
$scope.submitFormData = function(myForm)
if(myForm.$valid)
MyDataService.saveOrGetData($scope.myReport).then(
function(response)
$scope.myReport = response;
,
function(errResponse)
console.error('Errorr');
);
else
console.log("invalid form data!!");
myDataService.js
app.factory('myService',function($http,$q,$location)
var MY_SERVICE_URI = $location.protocol()+'://'+$location.host()+':'+$location.port();
var _repServiceFactory=;
_repServiceFactory.saveOrGetData = function(myData)
var deferred = $q.defer();
var url = appURL+'/saveOrGetData.form';
$http.post(url,JSON.stringify(myData))
.then(
function (response)
deferred.resolve(response.data);
,
function(errResponse)
console.error('Error while fetching data');
deferred.reject(errResponse);
);
return deferred.promise;
PS:我知道Angularjs是客户端,Nodejs是服务器端,两者都使用Javascript编程语言。 我想知道的是,nodejs有什么用,实时用在哪里??
【问题讨论】:
nodejs 可用于编写类似于 java 的服务,为您的客户端代码提供服务并管理包/第三方库依赖项 【参考方案1】:如果您正在编写 AngularJS 前端 Web 应用程序,您可能从不必须使用 NodeJS。
如果您在开发或部署过程中需要工具(构建脚本来编译 Sass、linter 等),您可以使用 NodeJS 任务运行器,例如 Gulp、Grunt 或 Webpack。
如果您需要构建一个用于存储和检索信息的后端 API,您可以使用 Express 或整个 MEAN stack。
* * * 另外值得注意的是——你提到了一个 Java 类。如果您已经在使用 Java 作为后端,那么您可能不会为此目的使用任何 NodeJS。如果您只是将 JavaScript 缩写为“Java”,请注意它们是独立且不同的语言。 * * *
【讨论】:
【参考方案2】:Web 开发有 4 个主要部分:
后端:Node.Js(将替换或与您的 Java 服务器一起使用) 前端:Angular.js(或React/Polymer/Vue/等) 数据库:MongoDB (noSQL)、mysql/Postgres (sql) 路由/服务器/中间件:Express.js要创建实时应用,您可以使用 websockets,尤其是 Socket.io(它非常适合 Node.js 并且专为 Node.js 构建)
WebSocket 本质上是基于事件的双向(低延迟)隧道,其中数据可以从 client-to-server
和 server-to-client
传递strong> 无需为每条消息发出 AJAX (tcp) 请求。
这与强大的数据绑定架构 (API
->
Angular Binding
) 相结合,允许自定义单个页面视图,其中相同的数据可用于创建视图,并在何时更新后端模式数据得到更新。
【讨论】:
为什么是-1?谁能解释一下。 不知道——在一天中一个接一个地,我们每个人都投了一次反对票,没有任何解释。 :(以上是关于在哪里以及如何将 nodejs 与 angularjs 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
如何使 SQLite 与 Angular 4+、Electron 和 NodeJS 一起工作
nodejs 如何与 Angular 一起工作?它是api还是其他东西?
需要有关如何将 Postman 的 Newman 与 Nodejs 一起使用的示例吗?
如何使用 angular 和 nodejs 将 csv 数据转储到 mongoDB