如何将requirejs文本插件与karma一起使用

如何将requirejs文本插件与karma一起使用,requirejs,karma-runner,requirejs-text,Requirejs,Karma Runner,Requirejs Text,我正在尝试让require js文本插件与karma testrunner 我用npm下载了这两个。我让karma与requirejs一起工作,只是文本插件给我带来了一些麻烦 当我将text.js文件添加到karma服务的文件中时,我得到了一个不匹配错误: Uncaught Error: Mismatched anonymous define() module: function (module) { //code from text plugin 如果我没有在karma.conf中提供

我正在尝试让
require js
文本插件
karma testrunner
我用npm下载了这两个。我让karma与requirejs一起工作,只是文本插件给我带来了一些麻烦

当我将text.js文件添加到karma服务的文件中时,我得到了一个不匹配错误:

Uncaught Error: Mismatched anonymous define() module: function (module) {
   //code from text plugin
如果我没有在karma.conf中提供文本插件或排除文件,我会从requirejs中得到一个脚本错误 (和业力警告:404/base/text.js)

我将以下内容添加到我的require config文件中:

require.config({
    paths: {
    text: './text.js'  //also tried text.js

  }
 })
但这似乎并没有改变什么

我对文本插件和模板的依赖性声明如下:

   define(['text!views/viewtemplate.html'], function (template) { ...

当我试图将模拟JSON文件引入测试文件并使用JSON.parse(requirejsInjectedJsonText)解析它们时,我也遇到了这个问题

我遇到的问题是忘记用requireJS文本和模拟文件更新我的karma配置文件:

files: [
  {pattern: 'mocks/**/*.json', included: false},
  {pattern:'lib/requirejs-text/text.js', included: false},
  'config/require.config.js'
]
在适当地添加这些之后(requirejs配置引用必须始终位于karma配置文件中“files”数组的最后一个索引中),我能够成功地提取模拟数据

为了记录在案,当我在摆弄时,我甚至在@ddd中将垫片添加到require配置中,即:

shim: {
  'text': {'exports': 'text'}
}
但是,在我移除了它并设置了如上所述的karma配置之后,它就变得不必要了


干杯

我们需要更多的代码来更好地帮助您。您是否在Karma提供的
文件数组中添加了
'text.js'
?(在你的因果报应配置中)@glepretre感谢你的回复,同时我通过遵循本次讨论中给出的提示使它起到了作用
shim: {
  'text': {'exports': 'text'}
}