>백엔드 개발 >PHP 튜토리얼 >프런트엔드 및 백엔드 분리 모드에 대한 질문

프런트엔드 및 백엔드 분리 모드에 대한 질문

WBOY
WBOY원래의
2016-09-19 09:16:301186검색

프론트엔드와 백엔드 분리 모델에 대한 질문

이 단계에서는 프런트엔드와 백엔드 작업이 혼합되어 있습니다. 프런트엔드는 데모를 작성하고 이를 백엔드에 전달하여 버그가 발생하면 디버깅에 시간이 많이 걸립니다. 그래서 프론트엔드와 백엔드 분리가 시급합니다. 온라인으로 오랫동안 검색해본 결과 일반적으로 SPA 모드와 노드 모드입니다

.

SPA 모드는 교차 도메인 요청을 사용하여 데이터 수집 문제를 해결합니다. 하지만 SEO 최적화에는 도움이 되지 않습니다.
그래서 NODE 기반의 분리 모델을 살펴봤습니다.

프런트엔드 및 백엔드 분리 모드에 대한 질문

이 모델이 맞는지는 잘 모르겠습니다. 혹시 다른 좋은 해결방법이 있으면 댓글로 알려주시면 감사하겠습니다!

답글 내용:

프론트엔드와 백엔드 분리 모델에 대한 질문

이 단계에서는 프런트엔드와 백엔드 작업이 혼합되어 있습니다. 프런트엔드는 데모를 작성하고 이를 백엔드에 전달하여 버그가 발생하면 디버깅에 시간이 많이 걸립니다. 따라서 프론트엔드와 백엔드를 분리하는 것이 시급합니다. 오랫동안 온라인으로 검색한 결과 일반적으로 SPA 모드와 노드 모드입니다

.

SPA 모드는 교차 도메인 요청을 사용하여 데이터 수집 문제를 해결합니다. 하지만 SEO 최적화에는 도움이 되지 않습니다.
그래서 NODE 기반의 분리 모델을 살펴봤습니다.

프런트엔드 및 백엔드 분리 모드에 대한 질문

이 모델이 맞는지는 잘 모르겠습니다. 혹시 다른 좋은 해결방법이 있으면 댓글로 알려주시면 감사하겠습니다!

대략 세 가지 유형이 있습니다.
1. 프론트엔드는 페이지 템플릿을 유지하고 개발을 담당하며, 퍼블리싱 시 백엔드로 푸시되고, 백엔드는 배포 및 운영됩니다. 예를 들어 vm에는 노드 측에서 컴파일, 채우기 및 표시를 완료할 수 있는 속도J가 있고 프런트엔드는 로컬에서 페이지 개발을 완료할 수 있습니다. 백엔드와의 결합 부분은 페이지에 대한 데이터를 렌더링하는 것입니다. 데이터 형식을 결정하기 위해 사전에 동의해야 하며 로컬 모의만으로 충분합니다.
2.spa 페이지가 반드시 크로스 도메인에서 유지되는 것은 아닙니다. 백엔드, 통합 쉘 및 백엔드는 다른 페이지에서 참조하는 js만 관리합니다. js는 항목을 페이지에 넣습니다. 물론 데이터는 클라이언트 측에서 비동기적으로 완료됩니다. SEO의 경우 phantomjs를 사용하여 페이지를 캡처하고 저장한 다음 크롤러를 처리하도록 ng를 구성할 수 있습니다. 실제로 이 솔루션의 가장 큰 문제점은 페이지가 들어온 후 처음에 표시되지 않는다는 것입니다. 즉, 흰색 화면 시간이 상대적으로 길어지는 것입니다. 대신 js를 실행해야 하며 데이터가 비동기적으로 표시됩니다. 꽤 흔합니다. 물론, 오프라인 패키지나 캐시를 사용하여 앱 및 기타 링크에서 이 경험을 최적화할 수 있습니다. 이는 비교적 일반적입니다.
3.node, 제 생각엔 사진에는 문제가 없다고 생각하지만 PHP에는 다양한 구현이 있습니다. part, Java, node 등 json의 경우 프론트엔드와 백엔드 결합을 줄이는 것에 지나지 않으며, 미리 결정하고 변경하지 않고 병렬로 개발할 수 있습니다. 노드의 도입은 프런트 엔드에서 액세스할 수 있는 페이지를 직접 제공하는 것에 지나지 않습니다. 그러나 프런트 엔드가 매번 하나의 노드 페이지 렌더링을 작성한다면 상대적으로 큰 개발 비용이 발생하게 됩니다. 그런 다음 Reactjs의 동형과 같은 동형이라는 아이디어가 있습니다. Node는 라우터만 제공하고 다른 페이지 처리 서버와 클라이언트는 완전히 일치합니다.

저의 소견이 도움이 되었기를 바랍니다

기본적으로 JSON 또는 JSONP 데이터를 백그라운드에서 제공하는 역할을 담당합니다. 프런트엔드에서 데이터를 가져온 후 데이터를 표시하고 렌더링하는 데에는 문제가 없습니다. 질문자가 뭐라고 말씀하셨는지 모르겠습니다. 버그가 발생하면 디버깅에 시간이 많이 걸리고 힘들며, 무엇이 큰 문제인지 잘 모르겠습니다.

모든 데이터는 백엔드에서 처리하며, 프론트엔드는 페이지 구현을 담당합니다. 데이터는 ajax를 통해 백엔드 서버에서 얻을 수 있습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.