在哪里以及如何将 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-serverserver-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

如何将 ExpressJS 服务器与 Angular2 集成

将 nodejs 与 opsworks 一起使用时,console.XXX 的输出在哪里被记录?