我正在使用r.js
throughgrunt-contrib-requirejs
并且到目前为止没有任何问题,直到我想将我的配置拆分到一个单独的文件中,以便testem
我的应用程序可以共享相同的配置。拥有单独的配置我没有任何问题,除非涉及到无法再找到路径的优化器。
我的主文件在 require 中加载,如下所示:
<script data-main="main" src="vendor/requirejs/require.js"></script>
在 main.js 我有:
require(['config'], function() {
'use strict';
require(['backbone', 'jquery'], function( Backbone, $ ) {
// ...
});
});
在配置中我有:
require.config({
paths : {
backbone : 'vendor/backbone/backbone-min',
jquery : 'vendor/jquery/jquery.min',
underscore : 'vendor/underscore/underscore-min'
},
shim : {
'backbone' : { deps: ['jquery', 'underscore'], exports: 'Backbone' },
'underscore' : { exports: '_' }
}
});
我的 Grunt 任务如下所示:
compile : {
options: {
name: 'main',
baseUrl: 'lib',
mainConfigFile: 'lib/config.js',
out: 'dist/js/master.js',
optimizeAllPluginResources: true
}
}
但是所有r.js
可以找到的是lib/config.js
& lib/main.js
,它没有找到 Backbone、jQuery 等。如果 config 包含在与 main 相同的文件中,这一切都可以正常工作,但是将它们分开的重点是让我不必维护我的测试运行器的不同配置。
任何建议将不胜感激。