Javascript 因果报应:移动文件夹->;套接字上缺少错误处理程序?

Javascript 因果报应:移动文件夹->;套接字上缺少错误处理程序?,javascript,node.js,socket.io,angular,karma-runner,Javascript,Node.js,Socket.io,Angular,Karma Runner,我对Karma 0.13.22运行的Angular 2.0项目进行了一组有效的单元测试,连接到带有Socket.io 1.4.5的Chrome 48浏览器。我在这种配置下进行测试,这种配置有效: app/ tests/app karma-test-shim.js karma.conf.js 然后,在不更改任何代码的情况下,我移动了一个文件夹: source/app/ tests/app karma-test-shim.js karma.conf.js 。。。然后,我用新的路径更新了和 现在,

我对Karma 0.13.22运行的Angular 2.0项目进行了一组有效的单元测试,连接到带有Socket.io 1.4.5的Chrome 48浏览器。我在这种配置下进行测试,这种配置有效:

app/
tests/app
karma-test-shim.js
karma.conf.js
然后,在不更改任何代码的情况下,我移动了一个文件夹:

source/app/
tests/app
karma-test-shim.js
karma.conf.js
。。。然后,我用新的路径更新了和

现在,测试甚至没有运行,我得到了以下错误:

Missing error handler on `socket`.
TypeError: (msg || "").replace is not a function
  at /home/spryno724/projects/portfolio/node_modules/karma/lib/reporter.js:45:23
  at onBrowserError (/home/spryno724/projects/portfolio/node_modules/karma/lib/reporters/base.js:58:60)
  ... more stack trace ...

11 03 2016 20:24:11.038:WARN [Chrome 48.0.2564 (Windows 10 0.0.0)]: Disconnected (1 times)
你知道这是什么原因吗?唯一改变的是文件夹路径


来自的样本:

files: [
  // Load Angular 2 dependencies and the SystemJS shim
  { pattern: 'node_modules/angular2/bundles/angular2-polyfills.js', included: true, watched: true },
  { pattern: 'node_modules/systemjs/dist/system.src.js', included: true, watched: true },
  { pattern: 'node_modules/rxjs/bundles/Rx.js', included: true, watched: true },
  { pattern: 'node_modules/angular2/bundles/angular2.dev.js', included: true, watched: true },
  { pattern: 'node_modules/angular2/bundles/testing.dev.js', included: true, watched: true },
  { pattern: 'karma-test-shim.js', included: true, watched: true },

  // The application and test files
  { pattern: 'source/app/**/*.js', included: false, watched: false },
  { pattern: 'test/unit/app/**/*.js', included: false, watched: false },

  // Support for debugging sessions
  { pattern: 'source/app/**/*.ts', included: false, watched: false },
  { pattern: 'test/unit/app/**/*.js.map', included: false, watched: false }
]
请参阅您的项目:

您可以尝试更改karma-test-shim.js。在System.config下,将格式“register”更改为“cjs”


我复制了你的karma.conf.js+karma-test-shim.js,并创建了一个简单的proj来模拟你遇到的问题(使用上面的修复程序)

你更新了karma.conf以查看源/应用程序了吗?@MorganG是的,我更新了karma.conf:这是我做的第一件事。不确定第二个问题是什么意思。我认为这是Socket.IO的问题。在新版本的0.13.18中,其他人似乎也遇到了同样的问题。虽然不是完全相同的问题,但有人报告说,仅在4小时前,插座再次出现问题。希望有人能给出一个很好的答案,因为这很奇怪。有什么更新吗?我可以重现问题1:1,但目前也在寻找解决方案。有人找到解决方案吗?