我如何在AngularJS中使用D3加载节点服务器的tsv文件

How can I load tsv file of node server using D3 in AngularJS

本文关键字:节点 加载 服务器 文件 tsv D3 AngularJS      更新时间:2023-09-26

我用AngularJS、D3.js和node.js练习过数据可视化。

我的应用程序结构如下。

Application/
  client/
    app/
      app.js
      index.html
      dashboard/
        dashboard.html
        dashboard.js
        dashboard.controller.js
        dashboard.service.js
      main/
  server/
      server.js
      api/
      data/
        data.tsv

我想使用仪表板控制器加载服务器的data.tsv。然而,它只显示404 Not Found

dashboard.controller.js

(function() {
    'use strict';
    angular
        .module('Dashboard')
        .controller('DashboardCtrl', DashboardCtrl);
    function DashboardCtrl($scope, d3) {
        d3.tsv("/data/data.tsv", function(data) {
            console.log(data[0])
        });
    }
})();

sever.js

app.post('/data', function(req, res) {
    fs.readFile('./data/result.tsv', 'utf8', function(err, data) {
        if(err) {
            return console.log(err);
        }else {
            res.write(data);
            console.log('written!');
        }
    });
});

那么,如何在服务器上加载tsv文件呢?

请尝试一下

fs.readFile("data/result.tsv", "utf8", function(error, data) { 
  data = d3.tsv.parse(data);
  console.log(JSON.stringify(data));
});