我正在使用node.js和d3.js。我的d3.js脚本加载了一个csv文件。我从node.js调用这个d3.js脚本。我不知道d3.js在哪里搜索csv文件。
关于我的代码的更多信息是:
node.js程序中的路径为:
path /home/cloudera/proyecto/nodejs/node-v0.10.17/node_modules/ejemplos该目录下的文件为:
/home/cloudera/proyecto/nodejs/node-v0.10.17/node_modules/ejemplos
[cloudera@localhost ejemplos]$ ls *.csv
totalbicis1.csv totalbicis2.csv totalbicis.csvd3.js的代码
d3.csv("totalbicis.csv", type, function(error,data) {
x.domain([0, d3.max(data, function(d) {return d.value; })]);浏览器中的错误消息为
GET http://localhost:8000/totalbicis.csv 404 (Not Found) d3.v3.min.js:1
Uncaught TypeError: Cannot read property 'length' of undefined d3.v3.min.js:3为什么d3.js找不到csv文件?
服务器代码是
var express = require('express');
var app = express();
var d3 = require('d3');
app.engine('.html', require('ejs').__express);
ap p.set('views',__dirname);
app.set('view engine','html');
//var fixtureData = require('./fixture_data.json');
//app.locals.barChartHelper = require('./bar_chart_helper');
app.get('/', function(req, res) {
console.log('en raiz ');
var absolute_path = __dirname;
console.log('path '+absolute_path);
res.render('grafico1');
res.end();
});
app.listen(8000);谢谢你的回答
发布于 2014-07-06 23:26:05
它不能工作,因为您没有使用过static中间件(在app.use section中描述了它的用法)。
要修复此错误,请创建一个目录(您可以将其称为“静态”),并将您的.csv文件放在其中。
然后将以下一行添加到服务器端代码中:
app.use(express.static(__dirname + '/static'));或
app.use('/csv', express.static(__dirname + '/static'));如果选择第二行,则必须在客户端指定d3.csv("/csv/totalbicis.csv", ...。
https://stackoverflow.com/questions/24596099
复制相似问题