저는 한동안 SPA (Single Page Web App) 작업을 해왔습니다. 프론트 엔드는 BackboneJS/Marionette를, 백엔드는 자바 스프링 :(
을 사용합니다. 하지만 내가 느리게 느낄 수있는 것은 애플리케이션 시작에 있으며, 애플리케이션의 다양한 부분에 대한 데이터를 채우기 위해 다양한 API 엔드 포인트에 대한 많은 요청이 이루어집니다. 나는 이것이 느린 것 같니? 그것들은 AJAX 요청이며 따라서 비동기 적으로 완료 되었습니까? 가장 좋은 방법은 무엇입니까? 처음에 나는 어떻게 든 1 개의 거대한 요청으로 모든 것을 결합한다고 생각했지만 그게 좋은 생각인지 확실하지 않았습니다. 또한 코드 예제도 좋습니다.단일 페이지 웹 앱. 응용 프로그램 시작시 많은 요청이 OK입니까?
답변
페이지로드시 무엇이 있어야하는지 알았으므로이 모든 데이터는 기본 html과 함께 제공되어야하며 개체는 함께 초기화되어야합니다.
require([ 'MyModel', 'load'], function(MyModel, load) {
var myModel = new MyModel(load.mymodel);
...
})
whats'
@JiewMeng 예 서버 쪽 템플릿. 중요한 점은 ** 전송 된 HTML에 이미 ** 모든 정보가 포함되어 있어야하므로 초기로드시 콜백이 필요하지 않습니다. 나중에 데이터를 업데이트해야한다면'myModel.fetch()'를 호출하고 AJAX를 정상적으로 사용할 수 있습니다. 로드는 파일이 아니며 페이지로드시 정의 된 모듈입니다. 하지만 원하는대로 보낼 수는 있습니다. 한 가지 방법을 보여 줬습니다. – Andrew
하나의 거대한 요청이 나쁜 생각이 아니다 : 나는, AMD는 그래서 그것을 좋아 할 것
<script data-main="app" src="/lib/require.js"></script>
<script>
define('load', function(){return {
mymodel : <c:out value="${mymodel}" default="{}" />,
...
};});
</script>
app.js를 사용합니다. 동기화를 위해이 기능을 원할 수도 있습니다.
동적 콘텐츠를 HTML에 넣으면 프런트 엔드 코드를 캐싱 할 수 없습니다. 예를 들어 모바일 앱에 프런트 엔드를 정적으로 패키지 할 수 없습니다. 또한 초기 렌더링 시간이 느려질 수 있습니다. 단, 앱이 하나가 아닌 두 번의 요청을 요구하기 때문에 전체적으로로드하는 데 다소 시간이 걸립니다.
- 1. 단일 페이지 웹 응용 프로그램 디자인
- 2. 응용 프로그램 시작시 빈 페이지
- 3. TypeScript에서 단일 페이지 웹 응용 프로그램 리팩토링
- 4. 단일 페이지 응용 프로그램 또는 다중 페이지 응용 프로그램?
- 5. 웹 구성 요소가있는 단일 페이지 응용 프로그램
- 6. 시작시 Java 웹 응용 프로그램
- 7. 단일 페이지 또는 다중 페이지 웹 응용 프로그램?
- 8. 단일 페이지 응용 프로그램 인증
- 9. 각도가있는 단일 페이지 응용 프로그램
- 10. 웹 사이트의 일부로 단일 페이지 웹 응용 프로그램 만들기
- 11. 단일 페이지 웹 앱 기본 로직
- 12. 단일 페이지 응용 프로그램 성능 문제
- 13. 단일 페이지 응용 프로그램 : 페이지 새로 고침
- 14. Sharepoint 앱 사이트에서 AngularJS 단일 페이지 응용 프로그램 시작
- 15. 대화 형 단일 페이지 응용 프로그램
- 16. Java 웹 응용 프로그램 - 응용 프로그램 시작시 LoadLibrary
- 17. Eclipse 웹 응용 프로그램 시작시 SEVERE 오류
- 18. Jersey 웹 응용 프로그램 시작시 데이터베이스 초기화
- 19. Android 시작시 응용 프로그램 시작
- 20. 단일 페이지 응용 프로그램 서버 우려 분리
- 21. URL없이 단일 페이지 앱
- 22. AngularJS 단일 페이지 응용 프로그램 아키텍처
- 23. 단일 페이지 웹 앱 메뉴 선택
- 24. 스프링 보안 및 단일 페이지 응용 프로그램
- 25. iPhone 시작시 응용 프로그램
- 26. 시작시 응용 프로그램 실행
- 27. 응용 프로그램 시작시 토스트
- 28. 시작시 응용 프로그램 실행
- 29. 시작시 응용 프로그램 시작
- 30. 응용 프로그램 시작시 작업
응용 프로그램에 따라 localstorage에서 캐싱을 사용하고 백그라운드에서 시작 및 새로 고침 정보에 대한 캐시 된 정보를 표시 할 수 있습니다. 최신 데이터를 빠르게로드하지는 않지만 일부 데이터를 빠르게로드합니다. – HoLyVieR