我目前正在处理一个项目并且我的代码存在一些问题..
我的问题:我的node.js正在分析一个txt文件并从中读取坐标..这些坐标应该显示在html文件中的图形中。两个代码都已创建,但我如何连接它们?
node.js:
var fs = require('fs');
function readLines(input, done) {
var arr = [];
var remaining = '';
input.on('data', function(data) {
remaining += data;
var index = remaining.indexOf('\n');
while (index > -1) {
var line = remaining.substring(0, index);
remaining = remaining.substring(index + 1);
func(line);
index = remaining.indexOf('\n');
}
});
input.on('end', function() {
if (remaining.length > 0) {
func(remaining);
done(arr);
}
});
function func(data) {
arr.push(data.split(/\s+/g)); //Splitfunktion für Komma
}
}
var input = fs.createReadStream('test.txt');
readLines(input, done);
//abschließen
function done(arr) {
var obj = {};
var key1 = arr[0][0];
var key2 = arr[0][1];
obj[key1] = [];
obj[key2] = [];
arr.shift();
arr.forEach(function (item) {
obj[key1].push(item[0]);
obj[key2].push(item[1]);
});
console.log('X:', obj[key1]);
console.log('Y:', obj[key2])
}
Html文件:
<!doctype html>
<html>
<head>
<!-- ... -->
</head>
<body>
<!-- ..... -->
<script>
var lineChartData = {
labels : [380, 390 ..<!-- X-Coordinates here -->
datasets : [
{
data : [0.5,
0.6,
0.7,
<!-- Y-Coordinates here -->
]
}
]
}
<!-- ... --->
</script>
</body>
</html>
希望你能帮忙!
问候,
JS
答案 0 :(得分:0)
我建议你使用expressjs。使用nodejs
创建Web应用程序非常低级。您必须通过节点npm install express
安装express并从那里开始。
部分代码已剪切以提供帮助
var express = require('express');
var app = express();
app.use(express.bodyParser());
app.set('view engine', 'ejs');
app.register('.html', require('ejs'));
app.get('/', function(req, res) {
// Handle file reading in here and return object
res.render('index.html', {obj: obj}); //where object is the obj is the object holding the arrays
});
app.listen(8080, function() {
console.log('Server running at http://127.0.0.1:8080/');
});
然后在index.html中执行..脚本内部标记。
<script>
console.log(<%= cordinates.obj %>);
</script>
免责声明:我没有对此进行过测试,但这只是为了帮助您