Javascript 在RequireJS中包含Modernizer,并在head标签中包含Modernizer
我对RequireJS和Modernizer有问题 我想让现代化资源占上风。还有身体里的其他东西。原因是现代化者在加载之前需要做一些事情。我希望能够使用RequireJS将Modernizer模块加载到其他模块中。如何在开发环境和生产环境中实现这一点?我使用requirejs来提取所有依赖项并缩小所有资源。yeoman版本将Javascript 在RequireJS中包含Modernizer,并在head标签中包含Modernizer,javascript,requirejs,modernizr,Javascript,Requirejs,Modernizr,我对RequireJS和Modernizer有问题 我想让现代化资源占上风。还有身体里的其他东西。原因是现代化者在加载之前需要做一些事情。我希望能够使用RequireJS将Modernizer模块加载到其他模块中。如何在开发环境和生产环境中实现这一点?我使用requirejs来提取所有依赖项并缩小所有资源。yeoman版本将替换为缩小版 在body标签下: <!-- build:js ikl.app.js --> <script data-main="scripts/main"
替换为缩小版
在body标签下:
<!-- build:js ikl.app.js -->
<script data-main="scripts/main" src="scripts/vendor/require.js"></script>
<!-- endbuild -->
<script>
requirejs.config({
paths: {
'jquery' : 'vendor/jquery',
'handlebars' : 'vendor/handlebars',
'ember' : 'vendor/ember',
'ember-data' : 'vendor/ember-data',
'modernizr' : 'vendor/modernizr' // This should be removed
},
baseUrl: 'scripts',
shim: {
'jquery' : {
exports : 'jQuery'
},
'ember': {
deps: ['jquery', 'handlebars'],
exports: 'Ember'
},
'ember-data': {
deps: ['ember'],
exports: 'DS'
},
'handlebars': {
exports: 'Handlebars'
},
'modernizr': {
exports: 'Modernizr'
}
}
});
require([
'modules/system/controllers/system.controller',
'jquery',
'ember',
'ember-data',
'handlebars',
'modernizr'
],
function( systemController ) {
systemController.renderView();
}
);
</script>
requirejs.config({
路径:{
“jquery”:“供应商/jquery”,
“车把”:“供应商/车把”,
“余烬”:“供应商/余烬”,
“余烬数据”:“供应商/余烬数据”,
'modernizer':'vendor/modernizer'//应删除此项
},
baseUrl:“脚本”,
垫片:{
“jquery”:{
导出:“jQuery”
},
“余烬”:{
部门:['jquery','handlebar'],
出口:“余烬”
},
“余烬数据”:{
副部长:[余烬],
出口:“DS”
},
“把手”:{
出口:车把
},
“现代化者”:{
出口:“现代化”
}
}
});
要求([
“模块/系统/控制器/系统.控制器”,
“jquery”,
“余烬”,
“余烬数据”,
“把手”,
“现代化者”
],
功能(系统控制器){
systemController.renderView();
}
);
您应该能够同时获得这两种功能
- 首先,删除与Modernizer相关的路径配置,您将不需要它
- 下一步在头部加载Modernizer-这将创建一个window.modernizer变量
- 最后,在引导需要之前,定义Modernizer模块
define('modernizr', [], Modernizr); require(['foo', 'bar', 'modernizr'], function(foo, bar, modernizr) { //..profit }
'exclude'
属性,告诉它不要担心'modernizer'
。精彩的解释。非常感谢,我忘了提了。只有当手动提供的依赖项的类型是'object'