私は数日間見回してきましたが、実際にはここで概念の一部が欠けているように感じます...私はnode.jsにかなり慣れていないので、メインクラスごとに異なるモジュール...
これがコードです..
inputReader.js
(function() {
var dir = './views/'; // Declare the directory to be scanned
var data = {} // Create array object for storage
fs.readdir(dir, function(err, files) {
if (err) {
throw err;
}
var c = 0; // Declare a var c = 0; initial condition of a for loop
files.forEach(function(file) {
c++; // Increment a counter in the for-loop condition
fs.readFile(dir+file, 'utf-8', function(err, string) {
if (err) {
throw err;
}
if ( 0 === -3) {
data[file] = string; // Throws into data object string of contents within the file being read
console.log(data); // We only need this to test using console (the contents being stored)
}
});
});
});
module.exports.getData = function() {
return data();
}
}());
そして、これがapp.jsでそれを呼び出そうとしている方法です
var inputReader = require('./inputReader').inputReader;
app.get('/', function(req, res){
res.send(inputReader.getData());
});
app.listen(3000);
console.log('Listening on port 3000');
これを正しく行った場合、私のローカルホスト ページには、アプリが読み取るように指定したフォルダー内のファイルの内容が表示されます。./views/..しかし、明らかに、私が得ているエラーは非常に間違っています:
TypeError: コールバック (c:\Users\Brian\documents\visualizer\node_modules\express\lib\router) で c:\Users\Brian\documents\visualizer\app.js:21:24 で undefined のメソッド 'getData' を呼び出せません\index.js:164:37) パラメータ (c:\Users\Brian\documents\visualizer\node_modules\express\lib\router\index.js:138:11) でパス (c:\Users\Brian\documents) \visualizer\node_modules\express\lib\router\index.js:145:5) Router._dispatch (c:\Users\Brian\documents\visualizer\node_modules\express\lib\router\index.js:173:5) ) Object.router (c:\Users\Brian\documents\visualizer\node_modules\express\lib\router\index.js:33:10) で、次の (c:\Users\Brian\documents\visualizer\node_modules\express) \node_modules\connect\lib\proto.js:193:15) で Object.expressInit [ハンドルとして] (c:\Users\Brian\documents\visualizer\node_modules\express\lib\middleware.js:30:5) で次へ (c:\Users\Brian\documents\visualizer\node_modules\express\node_modules\connect\lib\proto.js:193:15) Object.query [ハンドルとして] (c:\Users\Brian\documents\visualizer\node_modules\express) \node_modules\connect\lib\middleware\query.js:44:5)
誰かが私を正しい方向に向けたり、私が間違っていることを説明してくれたりしたら、それはありがたいです
ありがとうございました!(そして長々と読んですみません…)