2014-01-29 4 views
0

Мне нужно прочитать некоторый файл json, а затем загрузить данные в db. Вместо использования HTTP я хочу использовать модуль fs от node.js. Вопрос в том, как я могу использовать следующий код из приложения meteor.Использование модуля nodejs fs в моем приложении meteor

var fs = require('fs'); 
var file = __dirname + '/test.json'; 

    fs.readFile(file, 'utf8', function (err, data) { 
    if (err) { 
     console.log('Error: ' + err); 
     return; 
    } 

    data = JSON.parse(data); 

    console.dir(data); 
}); 
+0

Или вы можете использовать [активы api] (http://docs.meteor.com/#/full/assets_getText), как описано [здесь] (http://dweldon.silvrback.com/get-text). –

ответ

3

Если вы в пакете, то все, что вам нужно сделать, это заменить require с NPM.require:

var fs = Npm.require('fs'); 

Если вы хотите использовать его в проекте (не в пакете) , то просто добавьте meteorhacks:npm в свой проект, а затем использовать

var fs = Meteor.npmRequire('fs'); 
+0

Спасибо за ответ ... Где эта информация документирована? – Taimoor

+0

http://docs.meteor.com/#writingpackages, пятый пункт. Легко пропустить. –

+0

Возможно, вам стоит упомянуть, что 'Npm.require' доступен только в пакетах. –

0

Или идти больше Метеор путь, так что ваш код может начаться с:

var data = Assets.getText('/test.json'); 
EJSON.parse(data); 
Смежные вопросы