2016-08-10 2 views
1

존재하지만 그런 파일이나 디렉토리는,이 내 프로젝트 구조입니다.오류 : ENOENT :</p>이 <p><a href="https://i.stack.imgur.com/gMyiG.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/gMyiG.png" alt="enter image description here"></a></p> <p>이 <code>index.js</code>입니다 : 파일이

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'); 

아무것도를 재 작성하지했습니다.

+4

'ENOENT'을 사용하려면 일반적으로 권한입니다한다. 애플리케이션에 파일에 대한 액세스 권한이 있습니까? –

+1

또한,'rl.on ('line')'... '의 앞에'readline'을 호출해야합니다. ... – cviejo

+0

인덱스 파일에서 코드를 옮길 때까지 괜찮 았습니다. 코드는 app.js 파일에 있었고 정상적으로 작동했습니다. –

답변

3

귀하의 응용 프로그램이 실행중인 디렉토리 (app.js가있는 사용자의 루트)에 상대적인 readline 호출이 계속 될 것이므로 상위 디렉토리 참조가 필요하다고 생각하지 않습니다.

그냥

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

수 아니면 __dirname

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

감사합니다. 그것도 알았어. 내가 rl.on ('line') 바로 전에 readline을 호출해야했다. –

+0

그것이 문제의 원인이 아니지만, 의미가있다. Error : ENOENT : 파일이 존재하지만, 그러한 파일이나 디렉토리가 없다. – Wake

관련 문제

 관련 문제