首页 > 解决方案 > 混合节点和 AngularJS

问题描述

我是 Angular 世界的新手,并且有一个同时具有 Node 和 Angular 的应用程序。

我正处于需要在角度部分中实现一些节点功能的地步。

节点代码处理日志记录,而这个角度部分处理将页面打印到 excel。我希望能够记录用户开始打印。这是节点代码的示例:

const mung = require('express-mung');
var express = require('express');

module.exports = function(apper) {
  function audit(body, req, res) {
    let status = res.statusCode;
    let identity = 'thisapp';
    auditItems(res, status, identity, body);
  }
  function auditItems(res, status, identity, body) {
    try {
       let method = res.locals.method;
       let action = 'log';
       let items = buildItems(res,body);
       let payload = apper.events.items.build(action, items, opts);
       //sends the info to the auditing app
       apper.events.items.send(payload).then(handleSuccess).catch(handleError);
    }  catch(e) {
       handleError(e);
    }
  }
  return mung.json(audit, {mungError:true});
}

这是角度:

angular.module('App.Reports').register('MyCtrl'.['$scope', 'LocalService', 'LocalReportService', function($scope, LocalService, ReportService) {
   $scope.export = function() {
       var csvContent= "Building, Grounds, Year1, Year2";
       var dataString = "";

       ReportService.getCsvExport(csvContent);
   };
 }

这是export开始的html:

<div class="form-group">
  <button type="button" class=" btn btn-primary" ng-click="export()">Export</button>
</div>

我最初在 server.js 中启动节点组件:

const auditlocal =  require('./lib/my_audit');
app.use(auditlocal(apper));

这允许它在仅使用节点的应用程序的其他部分中工作。

这是对该发送的最终调用:

module.exports = function(connection) {
   async function send(payload) {
      return await connection.call('/sessions', 'POST', payload);
   }
}

有没有办法从 angular.module 中启动节点审计?或者也许我只是在角度模块中重新编写了整个内容?

标签: node.jsangularjsexpress

解决方案


推荐阅读