0

안녕하세요 저는 기존의 Angular 1 기반 UI 프로젝트에서 위젯 모듈을 개발 중입니다. 이 위젯은 실시간 정보를 포함해야합니다.NodeJs 렌더링 HTML 템플릿 + 로직 서버 측

제 디자인에 따라 첫 번째 요청이있을 때 노드 서버 (아마 express js 사용)에서 클라이언트에게 html보기를 보내려합니다. 그러나 데이터가 실시간이어야 할 필요가 있으므로 매분 전체 HTML을 전송할 수는 없습니다 (매번 템플릿 전송이 중복됩니다).

자바 스크립트 함수 집합과 함께 클라이언트에 템플릿을 보내어 클라이언트가 데이터를 새로 고치기를 원할 때 보낸 자바 스크립트 함수를 호출하고 자바 스크립트 함수를 내부적으로 호출 할 수 있도록 할 수 있습니다. 나머지 호출을하고 서버에서 json 응답을 얻은 다음 처음에 보낸 HTML을 다시 채 웁니다.

이 방법은 서버 측에서 초기 렌더링을하고 서버에서 제공하는 로직을 사용하여 클라이언트에서 렌더링을 수행 할 계획입니다. 여기서 클라이언트는 어떤 위젯을 렌더링하고 어떤 기능을 가지고 있는지 인식하지 못합니다. 이들 모두는 서버에서 전송 된 js에 의해 제어됩니다.

이 목적을 달성하지 못하는 ej를 발견 할 때이를 달성하는 방법을 알려주십시오. ejs를 사용하려면 모든 로직을 서버 측에만 보유해야합니다. 반면 런타임에 서버에서 클라이언트로 로직을 전송할 계획입니다.

또한 디자인에 심각한 문제가있는 경우 다른 대안을 제안하십시오. 감사합니다

답변

0

Angular1은 브라우저 DOM이 필요하기 때문에 server side rendering이 아니므로 안성맞춤입니다. 어떤 템플릿 엔진의 사용도 그들에 의해 생성 된 html이 각형 어플리케이션에 의해 선택되지 않기 때문에 도움이되지 않습니다.

urant1 앱 코드를 실행하여 phantomjs 헤드리스 브라우저 인스턴스를 사용하여 HTML을 생성 한 다음 스크립트가로드되면 각도가 클라이언트 측에서 실행됩니다. 그들이 server side rendering 친화적

을 그대로

나는 Angular2 또는 React로 전환하는 것이 좋습니다

관련 문제