2012-05-31 3 views
1

Node.js를 학습 할 수있는 테스트 앱을 만들려고합니다. 나는 워드 프레스 배경에서 왔고 아파치는 나를 위해 대부분의 백엔드 로직을 설정했다. 하지만 지금, 나는 내 자신을 만들어야 만합니다. 서버 측에서 클라이언트 측으로 JSON 파일을 제공하는 방법에 대한 질문이 있습니다. 워크 플로우 란 무엇입니까? Backbone.js가 모든 클라이언트 측 데이터 조작, couchDB에서 보내기/저장/가져 오기/가져 오기, NODE.js 백엔드에서 JSON 객체 처리 등을 처리합니까?Node.js는 CouchDB 및 Backbone.js에서 작동합니다. json이 어떻게 제공되고 있습니까?

HTTP 서버를 구축 할 때 Express Microframework을 사용하고 있으며 CouchDB NoSQL 데이터베이스에 액세스하기 위해 Cradle 미들웨어를 설치했습니다. 클라이언트 측 HTML (Jade 템플릿 엔진)에서 CouchDB 데이터베이스/문서로 데이터를 성공적으로 게시하고 크래들 미들웨어를 통해 서버에서 해당 데이터를 다시 검색 할 수있었습니다. 상황은 훌륭합니다. 그러나 그것은 모두 Backend에 의해 수행되었습니다.

내 클라이언트 측 Javascript에 Backbone.js를 사용하고 싶습니다. Backbone.js는 HTTP 서버에서 다시 보내는 JSON 객체를 찾고 있습니다. Cradle Middleware는 JSON 객체를 만들 수 있지만 직접 Jade 템플릿으로 만 보낼 수 있습니다. Jade 구문을 루프에 사용하여 데이터 객체를 반복 할 수는 있지만 Backbone.js가 모든 데이터 항목을 처리하기를 원하는대로 충족하지 못합니다. 나는 JSON obj를 ajax (HTTP에 의해 생성 된 파일과 클라이언트로 다시 보내거나 클라이언트로 직접 전송하는 파일)를 통해 가져와야한다는 것을 알고있다. 크래들 미들웨어는 그렇게 할 수 없었습니다.

이 질문에 대해 더 많은 연구를했습니다. 나는 CouchApp을 시도했다, 그것은 내가 필요한 것을한다. Backbone.js를 사용하여 모든 데이터를 처리하고 CouchDB 데이터베이스에서 데이터를 보내고 저장/가져옵니다. 하지만 CouchApp에서는 실행 중이며 Express Node.js 워크 플로가 아닙니다. (어쩌면 내가 틀렸거나 어떻게 작동하지 않는지)

나는 backbone-couchdb.js을 시도했다. 나는 세부 사항을 읽고 아직도 내가 원하는 것을 얻는 것을 도울 것이라고 알고 있습니다. (튜토리얼이나 코드 예제가 더 필요할 수도 있습니다). 나는 아직도 백본 CouchDB 드라이버가 필요하다고 생각하고 있는데,이 두 드라이버를 연결하고 어떻게 든 NODE.js 백엔드에 의해 제공됩니다.

Node.js에서 JSON 파일을 제공하는 방법, backbone.js가 CouchDB에서 데이터 저장/가져 오기/가져 오기와 상호 작용하는 방식을 알려주는 사람이 있습니까? 모범 사례/워크 플로 란 무엇입니까? 다른 좋은 리소스, 코드 예제, 유용한 도구?

+0

나는 모든 것을 잘못 생각한다고 생각합니다. 문제를 해결하는 데 집중하는 대신 도구를 선택합니다. – dscape

답변

1

크래들 미들웨어는 JSON 객체를 생성하지만 옥 템플릿

이 잘못에 직접 보낼 수 있습니다. 템플릿을 렌더링하지 않고 json을 다시 보낼 수 있습니다.

function(req, res, next){ 
    db.view('user/byUsername', { key: 'luke' }, function (err, doc) { 
    res.send(doc); // or res.json(doc); 
    }); 
} 
+0

백본 드라이버가 필요합니까? 요람처럼 모든 소리를 들려줍니다. 또한 가장 좋은/인기있는 워크 플로우 (Node.js - CouchDB - Backbone.js == Server - DB - Client)가 무엇인지 설명해 주시겠습니까 – MMA

+0

모두 원하는대로 달라집니다. 링크 된 하나의 통합 솔루션 (backbone-coucdb)이 있습니다. 당신이 그것을 사용한다면 당신은 중간 계층을 필요로하지 않습니다. 중간 계층을 사용하지 않으려면 데이터를 검색하기 위해 서버에 일반 Ajax 요청을 수행 할 수 있습니다. 이것은 아마 그것을하는 가장 기본적인 방법 일 것입니다. – Pickels

+0

그들은 모두 데이터 조작을 위해 작동하는 것처럼 들립니다. 거기에 튜토리얼이나 리소스 또는 코드 예제가 있습니까? 체크 아웃 할 수 있습니까? 당신의 도움을 주셔서 감사합니다. – MMA

관련 문제