2014-01-06 4 views
0

백본 우리의 자바 스크립트 코드를 구성하는 필수입니다, 나는 비 singlepage 응용 프로그램에서 그것을 사용하고 있지만, 다음과 같이 지금까지 내 CodeIgniter의 응용 프로그램을 구조화했습니다 : 일부 페이지가 공유단일 페이지가 아닌 웹 응용 프로그램에 requirejs를 사용하는 방법은 무엇입니까?

/
    /profile 
    /activity 
    /.... 

을 자바 스크립트 기능, 백본 뷰, 백본 모델 등

내가 여러 페이지에 걸쳐 공유되는 자바 스크립트 기능을했습니다 때 내가 뭘하는지

/profile 
    ...jquery.js 
    ...backbone.js 
    ...other stuff... 

...main.js <--- shared scripts 
...page.js <--- specific page script (e.g profile.js) 

문제는 어있는 main.js에 포함입니다 저는 이미 다른 자바 스크립트 특정 페이지에서 사용하고 싶은 모델을 가지고 있습니다 (그러나 다른 모든 페이지에서는 그렇지 않습니다). 그 코드를 other-page.js에 복제해야했습니다.

성가시다. 더 확장 성과 모듈성이 뛰어난 솔루션이 될 것입니다. 하지만 require.js에 익숙하지 않아서 코드 정리에 도움이되는 패턴을 묻습니다.

대단히 감사합니다.

답변

0

당신은 requirejs 모듈을 사용하여 여러 페이지에 대한 여러 모듈과 일반적인 물건에 대한 공통 모듈을 만들 수 있습니다

  • 각 페이지에는 일반 및 페이지 별 모듈의 혼합을 사용합니다.
  • 모든 페이지는 동일한 requirejs 구성을 공유합니다.
  • 최적화 빌드 후 공통 항목은 공유 공통 계층에 있어야하며 페이지 별 모듈은 페이지 별 레이어에 있어야합니다.

이에 대한 구성이 될 수있다 (build.js) : 자세한 내용

을위한

{ 
    // ther 'regular' configuration, 
    modules: [{ 
     name: '../common',   
     include: ['jquery', 'app/lib', 'app/controller/Base','app/model/Base'] 
     },{ 
     name: '../page1', 
     include: ['app/main1'], 
     exclude: ['../common'] 
    },{ 
     name: '../page2', 
     include: ['app/main2'], 
     exclude: ['../common'] 
    }] 
} 

체크 아웃 https://github.com/requirejs/example-multipage

관련 문제