2014-02-18 3 views
0

나는 백본과 jquery와 같은 다른 라이브러리에서 requirejs를 사용하고 있습니다. 내 계획은 모든 libs가 하나의 파일에 연결되도록하기 위해 grunt를 사용하고 모든 libs가 필요하기 때문에 index.html 파일에 한 번로드합니다. 일부 코드를 저장하려고합니다. 따라서 새로운 백본보기 또는 모델을 코딩 할 때마다 jquery 및 백본을로드하는 대신 전역 범위에로드 될 때 백본 및 jquery를 사용하기 만하면됩니다. 내가로드하는 유일한 물건은 내 견해, 모델 및 컬렉션입니다.requirejs 코어에 requirejs 텍스트 플러그인을 통합하십시오.

하지만 텍스트 플러그인은 나에게 두통을줍니다. 그것은 내 연결된 lib 파일에서 분리해야합니다. 왜냐하면 "text! blabla.html"이라는 HTML 파일을로드 할 때마다 먼저 HTML 파일을로드하기 전에 먼저 text.js 플러그인을로드하려고 시도하기 때문입니다. 그래서 나는 다른 모든 libs와 함께 requirejs와 함께 텍스트 플러그인을 연결할 수 없으므로 페이지로드시 미리로드됩니다.

text plugin을 requirejs에 통합 할 수 있으므로 기본적으로 코어에서 "알 수"있습니다. 그렇지 않으면 requirejs가 필요에 따라 비동기 적으로로드하고 requirejs 자체와 함께 미리로드되지 않으므로 text.js에있는 모든 라이브러리와 함께 하나의 lib 파일을 갖게됩니다.

누구든지 해결할 수 있습니까? 실제로 이제는 라이브러리가 하나가 아닌 두 개의 GET 요청을 받아야하기 때문에 실제로 최적화되지 않았습니다.

+0

[r.js] (http://requirejs.org/docs/optimization.html)는 이러한 문제를 해결했으며, Grunt와 함께 작동하며 require.js를 사용하여 프로젝트를 연결/축소하는 표준 도구입니다. –

답변

0

Nikos는 자신의 의견에서 r.js을 사용하고 싶다고 답했습니다. 최적화시에 text!이로드 된 모든 파일이 알려진 프로젝트에서 r.jstext!으로로드 된 파일을 최적화 된 번들에 통합하고 text! 플러그인을 스텁으로 바꿀 수 있습니다.

+0

이 작업을 수행했는데,이 작업은 두 작업 모두를 하나의 작업으로 연결하는 것이지만 작동하지 않습니다. text.js는 정의 호출 내에서 래핑되므로 require와 함께로드해야합니다. 그러나 js에이를 통합하고자합니다. 연결이 작동하지 않습니다. – NovumCoder

+0

나는 RequireJS가 익명의 정의에 대해 불평 할 것이라고 잠깐 잊어 버렸다. RequireJS를 사용하지 않는다면'cat'보다 좀 더 복잡합니다. 왜냐하면 첫 번째 매개 변수가 정의 된 모듈의 이름이되도록'define' 호출을 변경해야하기 때문입니다. 이것은 어렵지는 않지만'cat'보다 더 복잡합니다. 그리고 만약 당신이 이것을하려고한다면,'r.js'를 사용하면됩니다. 자동으로 그렇게 할 것입니다. 내 대답의 첫 부분은 여전히 ​​정확합니다. – Louis