0

我的目录结构如下所示:

\js
   ...
   \models\...
   ...
   \test
        \test_runner.js
        \error_test.js
        ...
   main_tests.js

我在哪里有以下代码main_tests.js

requirejs(['test/test_runner'],function(){
  console.log('Testing begins');
});

test_runner.js看起来像这样:

define('test_runner',['test/error_test'],function(){
   console.log("in test_runner");
});

error_test.js这样的:

define('error_test',['modules/error'],function() {
   console.log('in erro_test');
});

您可能已经知道我想从test_runner.js一些测试中运行。我需要main_tests.js为要测试的应用程序定义依赖项。我可以设置应用程序来工作(它是基于 ember 的)。当我为测试运行代码时,它会加载test_runner.js,但它不会执行它,也不会加载它的依赖项(error_test.js)。

任何想法为什么它不做这件事?

4

1 回答 1

1

在 requireJS 您已将'test/test_runner'模块重新定义为'test_runner'

您应该test_runner.js在不重命名模块的情况下定义:

define(['test/error_test'], function(){
   console.log("in test_runner");
});

根据经验,模型应该通过它们的完整路径和名称来引用。不应通过传入第一个参数来重命名它们。

官方文档

于 2013-06-04T08:53:54.083 回答