尝试使用 web worker 时 Karma 出现 404

404 on Karma when trying to use web worker

我在尝试对 Web Worker 运行 进行单元测试时遇到错误 WARN [web-server]: 404: /app/workers/total.js

Karma.conf.js 包括以下内容:

...
files: [
        ...
        'app/workers/*.js',
        'unit-tests/mocks/**/*.js',
        'unit-tests/src/**/*.js'
    ],
....

测试如下:

describe('totals', function () {
    var worker;

    beforeEach(function() {
        worker = new Worker('/app/workers/total.js');
    });

    it('should do something', function () {
        ...
    });
});

我尝试了很多网址,但 none 似乎有效

最后我在 https://github.com/karma-runner/karma/issues/1302 上找到了解决方案,诀窍是将 /base 作为 worker URL 的一部分,作为解决方案:

describe('totals', function () {
    var worker;

    beforeEach(function() {
        worker = new Worker('/base/app/workers/total.js');
    });

    it('should do something', function () {
        ...
    });
});

注意 /base 作为 worker URL 的一部分。

感谢 maksimr