我遇到了一个我不知道如何解决的问题。我正在使用RequireJS,我正在使用RequireJS的插件文本。在使用Jasmine开发单元测试时,我有这个测试:
define(
[ "dep1", "channels" ],
function( dep1, channels ) {
"use strict";
describe( '* Test module 1:', function() {
describe( '- Test public method1:', function() {
it( '01. Test 1.', function( done ) {
var _callback = function( resultCode ) {
expect( resultCode ).toBe( 1 );
done();
};
var _params = {
channel: channels.getChannelFromId( "0" ),
callback: _callback
};
dep1.test( _params );
} );
} );
} );
} );
问题是我调用了dep1模块,而在dep1模块中有一个需要调用,需要一个具有HTML依赖的模块:
require( [ "module2" ], function( module2 ) {
module2.init();
} );
模块2声明:
define( ["text!widgetDir/test/test.html","jquery"],
function( template, $ ) {
// ----
}
);
编辑:widgetDir在requireJS config中定义:
"widgetDir": "../source/system/widgets",
我在控制台中收到此错误:
未捕获错误:模块加载超时:text!widget / test / test.html
如果在我的测试的依赖项上,我添加了module2,它可以工作。
define(
[ "dep1", "channels", "module2" ],
function( dep1, channels, module2 ) {
为什么会这样?我不知道错误在哪里。
非常感谢,最诚挚的问候。