我应该在同一页面中使用Modernizrjs + YepNopejs + Requirejs吗?

时间:2012-02-21 20:30:04

标签: requirejs modernizr yepnope

我使用RequireJs来构建我的JavaScript代码。另外,我使用了大量的CSS3,而且我使用了#34; Modernizr w / YepNope" + x个css3 polyfills。

我理解" Modernizr w / YepNope"和RequireJs都是资源加载器。既然它们都是资源加载器,那么在同一个项目中同时使用它们是一个坏主意吗?

所以,基本上我都在问,使用是不是一个坏主意:

  • Require.js
  • Modernizr.js w / YepNope.js

在同一页面?

2 个答案:

答案 0 :(得分:4)

只要您不通过YepNope加载RequireJS模块,就可以同时使用它们。否则,您可能会根据RequireJS文档遇到此问题:http://requirejs.org/docs/errors.html#mismatch

由于你在RequireJS之外加载了一些东西,即API polyfill,你的模块使用这些polyfill的唯一方法就是在YepNope的require()回调中进行初始的complete()调用。但恕我直言,它有点笨重...

答案 1 :(得分:3)

总结:Respond.js(jQuery Mobile非常棒)基于css3媒体查询,所以如果你需要填充,你可能不需要'资源加载器。

我不能代表YepNopejs,但由于在Modernizer中列出了respond.js,这似乎是多余的。

Modernizer,如果使用,应该确定是否加载了response.js。

Modernizer将有条件地加载脚本,包括response.js,客户端基于功能检测。

支持的脚本(当前不包含YepNope)

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