2016-09-05 2 views
0

클라이언트 측에 일부 데이터 포인트를 표시하고 서버에 저장된 파일에서 위도, 경도 및 요약을 가져 오려고합니다.서버에 저장된 파일에서 데이터를 읽는 Meteor

나는 Meteor 방법을 사용하여 papaParse를 사용하라는 게시물을 많이 읽었지만 제대로 작동하지 못합니다.

너희들이 나에게 올바른 방향을 가리킬 수 있습니다, 내 질문은 다음과 같습니다

  1. 있는 폴더에서 내가 유성의 .txt, .csv 또는 .json 파일을 저장해야하는?
  2. 클라이언트에서 액세스하고 클라이언트에 표시 할 수 있도록 읽은 ​​데이터를 클라이언트에 반환하는 방법.

답변

1

고정 파일을 서버의 private 폴더에 넣고 Assets으로 가져올 수 있습니다.

예를 들어 data.json 개의 파일이 private 폴더에 있습니다.

방법이 데이터를 얻을 수 있습니다 :

Meteor.methods({ 
    getData() { 
    return JSON.parse(Assets.getText('data.json')); 
    } 
}); 

이제 클라이언트에서이 메소드를 호출 할 수 있습니다를 표시하는 방법을

확인

Meteor.call('getData', function(err, res) { 
    console.log(res); 
}); 

UPD.

Meteor.call은 비동기 적으로 실행되므로 결과에 대한 우리의 견해를 업데이트하기 위해 반응성을 사용할 것입니다.

다음은 ourData 템플릿에 데이터를 표시하는 방법입니다.

<template name="ourData"> 
    <!-- Here you may want to use #each or whatever --> 
    <p>{{ourData}}</p> 
</template> 
Template.ourData.onCreated(function() { 

    this.ourData = new ReactiveVar(); 

    Meteor.call('getData', (err, res) => { 
    if (err) { 
     console.error(err); 
    } else { 
     // Putting data in reactive var 
     this.ourData.set(res); 
    } 
    }); 
}); 

Template.ourData.helpers({ 
    ourData: function() { 
    // Helper will automatically rerun on method res 
    return Template.instance().ourData.get(); 
    } 
}); 

reactive-var 패키지가 필요하거나 당신은 또한 Session를 사용할 수 있습니다.

+0

이 Meteor.call 기능 외의 결과는 어떻게 사용합니까? –

+0

정확히 그 데이터로 무엇을하고 싶은가에 달려 있습니다. 말할 수 있나요? 오, 이제 너는 그것을 보여주고 싶다. 응답이 진행 중입니다. –

관련 문제