node.js - 尽管文件存在,但出现错误 : ENOENT: no such file or directory,

标签 node.js line-by-line

这是我的项目结构:

enter image description here

这是index.js

var express = require('express');
var router = express.Router();
var fs = require('fs');
var links = require('../models/Links');

var readline = require('linebyline');
var rl = readline('../data.txt');
router.get('/', function (req, res) {

    rl.on('line', function (line, lineCount, byteCount) {
        var data = line.split(',');
        var id = data[0];
        var url = data[1];           
    })
});

module.exports = router;

我做错了什么?

我尝试重写

var rl = readline('/../data.txt');
var rl = readline(__dirname +'/../data.txt');

没有任何作用。

最佳答案

您的 readline 调用仍然与您的应用程序运行所在的目录相关(您的根目录,app.js 所在的位置),因此我认为您不需要父目录引用。

应该只是

var rl = readline('./data.txt');

或者如果你想使用 __dirname

var rl = readline(__dirname + '/data.txt');

关于node.js - 尽管文件存在,但出现错误 : ENOENT: no such file or directory,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38877979/

相关文章:

javascript - 使用 javascript/node js 获取用户的所有公共(public) github 存储库

javascript - 创建第一个 node.js 插件

javascript - NodeJS 返回垃圾 JSON

node.js - Chrome 中的 Gulp Livereload

Bash:逐行读取文件并将每个段作为参数处理给其他程序

c++ - Arduino逐行读取SD文件C++

java - 如何读取文本文件(逐行)并使用输出作为 nameS 在 java 中创建 .pdf 文件?

c - 分别扫描 C 中的句子和数字

node.js - 将 Node js 应用程序部署到 AWS Elastic Beanstalk 时出错

user-interface - dotTrace 的数字在逐行分析中的含义是什么?