高速でファイルを取得.json
してビューに表示する際に問題があります。あなたの例を教えてください。
質問する
60582 次
3 に答える
32
var fs = require("fs"),
json;
function readJsonFileSync(filepath, encoding){
if (typeof (encoding) == 'undefined'){
encoding = 'utf8';
}
var file = fs.readFileSync(filepath, encoding);
return JSON.parse(file);
}
function getConfig(file){
var filepath = __dirname + '/' + file;
return readJsonFileSync(filepath);
}
//assume that config.json is in application root
json = getConfig('config.json');
于 2012-10-31T19:50:39.573 に答える
28
コントローラーでこのようなことを行います。
jsonファイルのコンテンツを取得するには:
ES5
var foo = require('./path/to/your/file.json');
ES6
import foo from './path/to/your/file.json'
;
jsonをビューに送信するには:
function getJson(req, res, next){
res.send(foo);
}
これにより、リクエストを介してjsonコンテンツがビューに送信されます。
ノート
BTMPLによると
これは機能しますが、require 呼び出しはキャッシュされ、後続の各呼び出しで同じオブジェクトが返されることに注意してください。サーバーの実行中に .json ファイルに加えた変更は、サーバーからの後続の応答には反映されません。
于 2016-03-16T09:19:04.077 に答える
14
これは私のために働いた。fs モジュールの使用:
var fs = require('fs');
function readJSONFile(filename, callback) {
fs.readFile(filename, function (err, data) {
if(err) {
callback(err);
return;
}
try {
callback(null, JSON.parse(data));
} catch(exception) {
callback(exception);
}
});
}
使用法:
readJSONFile('../../data.json', function (err, json) {
if(err) { throw err; }
console.log(json);
});
于 2013-12-13T06:58:32.063 に答える