2016-08-10 19 views
1

が存在するが、これは私のプロジェクト構造である:エラー:ENOENT:そのようなファイルやディレクトリはありません、ファイルは

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

何も動作を書き換えてみました。

+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

問題はエラーの原因とはなりませんが、エラー:ENOENT:そのようなファイルやディレクトリはありません。 – Wake

関連する問題