如何修复导致 "karma WARN [web-server]: 404" 的图像?

how to fix images causing "karma WARN [web-server]: 404"?

我有一个 angular 指令和一个模板,它正在做类似的事情:

<img ng-src="{{url}}" />

在我的测试中,我正在设置范围,以便 url 指向一个虚构的图像......然后 Karma 说:

WARN [web-server]: 404: /fake.png

所以我进入我的业力配置文件并添加到文件数组:

{pattern: 'spec/javascripts/fixtures/**/*.png', watched: false, included: false, served: true},

然后添加代理:

proxies: {
  '/fake.png': 'spec/javascripts/fixtures/assets/fake.png'
}

...

现在我得到:

WARN [proxy]: failed to proxy spec/javascripts/fixtures/assets/fake.png ([object Object])

?

那个路径是正确的,那里有一个名为fake.png的真实图像。

我配置中的 basePath 也正确设置为我项目的根目录...

我通过随机试验和错误弄明白了。显然你必须在路径中使用 magic 词 "base"。

proxies: {
  '/fake.png': '/base/spec/javascripts/fixtures/assets/fake.png'
}

现在它可以工作了,但老实说,在前面加上 "/base" 似乎是胡说八道。

我想发表评论,但我没有足够的代表,因为我是一个新手。 /base 是业力配置的基本路径。您在

中指定
module.exports = function () {
    return {
        ...
        basePath: '../',
        ...
    }    
}

当您这样做时,基础部分会自动添加到模式中。因此,这并不是真正的废话,而是配置不完整。 玩得开心 :)

如果您不关心在测试中显示实际图像,这就足够了:

proxies: {
  '/fake.png': ''
}