首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >d3.js在哪里搜索文件

d3.js在哪里搜索文件
EN

Stack Overflow用户
提问于 2014-07-06 21:06:17
回答 1查看 877关注 0票数 1

我正在使用node.js和d3.js。我的d3.js脚本加载了一个csv文件。我从node.js调用这个d3.js脚本。我不知道d3.js在哪里搜索csv文件。

关于我的代码的更多信息是:

node.js程序中的路径为:

代码语言:javascript
复制
path /home/cloudera/proyecto/nodejs/node-v0.10.17/node_modules/ejemplos

该目录下的文件为:

代码语言:javascript
复制
/home/cloudera/proyecto/nodejs/node-v0.10.17/node_modules/ejemplos
[cloudera@localhost ejemplos]$ ls *.csv
totalbicis1.csv  totalbicis2.csv  totalbicis.csv

d3.js的代码

代码语言:javascript
复制
d3.csv("totalbicis.csv", type, function(error,data) {
 x.domain([0, d3.max(data, function(d) {return d.value; })]);

浏览器中的错误消息为

代码语言:javascript
复制
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文件?

服务器代码是

代码语言:javascript
复制
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);

谢谢你的回答

EN

回答 1

Stack Overflow用户

发布于 2014-07-06 23:26:05

它不能工作,因为您没有使用过static中间件(在app.use section中描述了它的用法)。

要修复此错误,请创建一个目录(您可以将其称为“静态”),并将您的.csv文件放在其中。

然后将以下一行添加到服务器端代码中:

代码语言:javascript
复制
app.use(express.static(__dirname + '/static'));

代码语言:javascript
复制
app.use('/csv', express.static(__dirname + '/static'));

如果选择第二行,则必须在客户端指定d3.csv("/csv/totalbicis.csv", ...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24596099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档