2012-02-21 1 views
9

JavaScript 코드를 구조화하기 위해 RequireJs를 사용하고 있습니다. 또한 CSS3를 많이 사용하고 있으며 "Modernizr w/YepNope"+ x 수의 css3 폴리 필을 사용합니다.같은 페이지에서 Modernizrjs + YepNopejs + Requirejs를 사용해야합니까?

"Modernizr w/YepNope"를 이해하고 RequireJs는 둘 다 리소스 로더입니다. 둘 다 리소스 로더이기 때문에 두 프로젝트를 같은 프로젝트에서 사용하는 것은 나쁜 생각입니까?

그래서, 기본적으로 내가 부탁 해요, 사용하도록에게 나쁜 생각입니다 :

  • Require.js
  • Modernizr.js 같은 페이지에서 YepNope.js/

w ?

+3

이 질문으로 돌아 오면 1 년 후 제작 릴리즈에서 더 이상 requirejs를 사용하지 않는다고 말할 수있다. requirejs 모듈을 1 파일로 컴파일하고 amd 모듈에 대한 대체 가벼운 almond.js를 사용합니다. –

답변

4

에서 지원 스크립트 (현재하지 않는 YepNope을 포함한다)으로 오래 둘 다 사용하는 것이 괜찮습니다. http://requirejs.org/docs/errors.html#mismatch

그리고 당신은 RequireJS 외부 물건을로드하기 때문에,의 API polyfill 즉, 유일한 방법은 그 polyfills를 사용할 수 있습니다 당신의 모듈이 complete() 내에서 초기 require() 전화를하는 것입니다 : 그렇지 않으면 당신은 RequireJS의 의사에 따라이 문제가 발생할 수있다 YepNope의 콜백. 하지만 IMHO는 조금 복잡해진다. ...

+0

이 질문에 대한 답변은 제 질문에 대한 답입니다. 난 그냥 과부하가 1 페이지에서 2 리소스 로더를 가지고 궁금 .. 만약 내가 ypnope requirejs와 결합해야만하고 modernizr을 잘라 버릴까요? –

+0

당신이 의미하는 바는 yepnope를 없애고 Modernizr을 용량 감지 용으로 유지하고 스크립트로드에 RequireJS를 사용하는 것입니다. – sylvain

+0

Cont'd .... 둘 다 비동기 적이기 때문에 성능을 현명하게 보더라도 문제는 보이지 않습니다. 그럼에도 불구하고 당신이 RequireJS 의존성 해결을 필요로하지 않는다면, 내가 당신이라면 나는 그것을 떨어 뜨리고 YepNope를 유지할 것입니다. – sylvain

3

요약 : Respond.js (jQuery Mobile에서 사용 가능)는 css3 미디어 쿼리를 기반으로하므로 polyfill 만 있으면 충분하며 리소스 로더는 필요하지 않습니다.

나는 YepNopejs에 대해 말할 수 없지만 respond.js는 Modernizer에 나와 있기 때문에 중복되는 것처럼 보입니다.

Modernizer를 사용하는 경우 respond.js가로드되는지 여부를 결정해야합니다.

Modernizer는 기능 감지를 기반으로 클라이언트 측 respond.js를 포함하여 스크립트를 조건부로로드합니다. 당신이 YepNope를 통해 RequireJS 모듈을로드하지 않는

https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills

+0

Respond.js는 Modernizr이 사용할 polyfill입니다. 그리고 저는 YepNope가 Modernizr에 포함되어 있다고 생각합니다. 그래서 제 질문은 특히 polyfill에 관한 것이 아니라 modernizr과 requirejs를 함께 사용하는 것이 좋습니다. –

+0

왜 안좋은가요? 최악의 시나리오는 require.js가 메모리에 두 번로드된다는 것입니다. – Cymbals

+3

심벌즈 : respond.js와 RequireJS를 혼동하고 있습니까 (모듈 로더/의존성 관리자 대 미디어 쿼리 polyfill)? – WebSeed

관련 문제