Karma和RequireJS,为什么有两个“main.js”文件?

Karma和RequireJS,为什么有两个“main.js”文件?,requirejs,karma-runner,Requirejs,Karma Runner,我正在通过构建AngularJS应用程序学习Karma和RequireJS。 在使用Karma时,我看到的示例在测试文件夹中使用了不同的main.js文件。 为什么不让Karma使用RequireJS需要的常规main.js文件,为什么需要一个单独的文件进行测试?我问了自己同样的问题,我得出了以下结论: 应用程序环境中的许多配置对于测试环境来说都是无用的 对于不想向应用程序环境公开的测试环境,您可能有特定的库 您的测试环境中有一些配置是应用程序环境中无法配置的,例如: ... // ask R

我正在通过构建AngularJS应用程序学习Karma和RequireJS。 在使用Karma时,我看到的示例在测试文件夹中使用了不同的main.js文件。
为什么不让Karma使用RequireJS需要的常规main.js文件,为什么需要一个单独的文件进行测试?

我问了自己同样的问题,我得出了以下结论:

应用程序环境中的许多配置对于测试环境来说都是无用的 对于不想向应用程序环境公开的测试环境,您可能有特定的库 您的测试环境中有一些配置是应用程序环境中无法配置的,例如:

...

// ask Require.js to load specific files (all tests)
deps: tests,

// start test run, once Require.js is done
callback: window.__karma__.start

...
希望有帮助

为什么浏览器不直接显示js文件

浏览器需要html,所以karma也需要html

html是从karma.conf.js文件生成的。Karma将文件模式与include:true标志一起使用,并从中创建脚本元素。require.js的数据main是您的main.js文件,其中包含require.js的配置