Pertanyaan Mengambil file dari Directory Node Js


Saya menggunakan readDirSync untuk mendapatkan file dari Diretory. PLease menemukan kode dan kesalahan sebagai berikut.

var fs = require('fs');
var files = fs.readdirSync('./application/models/');
for(var i in files) {
  var definition = require('../application/models/'+files[i]).Model;
  console.log('Model Loaded: ' + files[i]);
}

Saya mendapatkan kesalahan untuk baris nomor 2. ENOENT, Tidak ada file atau direktori semacam itu './application/models/' at Object.readdirSync (fs.js: 376: 18)

Saya memiliki aplikasi / model pada dir yang sama. Saya sudah memeriksa '/ aplikasi / model /' dan 'aplikasi / model /' tetapi gagal. Saya dapat melihat hal yang sama berjalan di server.

Tolong bantu

Terima kasih


32
2017-09-13 11:48


asal


Jawaban:


Jika Anda menggunakan jalur relatif saat menelepon readdirSync, pastikan itu relatif process.cwd(). Namun, "Membutuhkan" harus relatif terhadap skrip saat ini.

Misalnya, diberikan struktur berikut

server.js (node process)
/lib/importer.js (the current script)
/lib/application/models/

Anda mungkin perlu menulis importir.js sebagai:

var fs = require('fs');
var files = fs.readdirSync('./lib/application/models/');
for (var i in files) {
  var definition = require('./application/models/' + files[i]).Model;
  console.log('Model Loaded: ' + files[i]);
}

35
2018-03-20 23:32



Sudahkah Anda mencoba yang berikut ini?

var files = fs.readdirSync(__dirname+'/application/models/');

6
2017-09-13 12:09