Karma无法使用Angular 2 quickstart配置代理html

Karma无法使用Angular 2 quickstart配置代理html,angular,karma-runner,karma-jasmine,Angular,Karma Runner,Karma Jasmine,我已经玩过Angular 2快速启动和测试。我们确实需要将html和css分开,以适应我们的设计师,因此使用templateUrl等是至关重要的。但当我用templateUrl替换模板并指向html文件时,测试就开始失败 Karma报告“警告[代理]:代理base/app/test.html(套接字挂起)”失败,并且查看网络跟踪,它没有转换URL。所有的JS都被翻译成/base/app,但不管我如何处理文件模式和代理,它总是使用/app/test.html而不是/base/app/test.ht

我已经玩过Angular 2快速启动和测试。我们确实需要将html和css分开,以适应我们的设计师,因此使用templateUrl等是至关重要的。但当我用templateUrl替换模板并指向html文件时,测试就开始失败

Karma报告“警告[代理]:代理base/app/test.html(套接字挂起)”失败,并且查看网络跟踪,它没有转换URL。所有的JS都被翻译成/base/app,但不管我如何处理文件模式和代理,它总是使用/app/test.html而不是/base/app/test.html。在组件中,templateUrl设置为“app/test.html”。我也尝试过所有可能的变化

唯一能让测试通过的是设置include:true for karma.conf.js中的html,并指向templateUrl中的/base/app/test.html。 我有这样一种印象:用因果报应代理将使“某些东西”在转换所有请求的URL之间

我在quickstart repo上使用了来自发行版和最新提交的文件

编辑:这已在angular/quickstart项目中修复。:)

我在测试quickstart时遇到了同样的问题。我只需将
karma.conf.js
中的
appAssets
从原来的
base/app/
更改为
/base/app/
就可以修复它

从我对问题的理解来看,如果您试图代理
/app/
,这就是quickstart的
karma.conf

var appAssets  = 'base/app/'

proxies: {
  "/app/": appAssets
},

为什么要将其替换为前面没有
/
的路径。这将导致<代码> /APP/<代码> >代码> BASE/APP/<代码>,这是不一样的,当您考虑URL是如何解决的。

在QuestRead RePO中添加了一个好的度量问题:您在测试中编写模板吗?是的,没有修改快速启动回购的测试样本。它做了正确的异步和编译组件的事情。你完全正确。我肯定我也试过这种组合。当我昨天摆弄它的时候,它可能是一个流氓的业力服务器。将昨天的项目与空白快速启动进行比较时,出现了一些奇怪的行为。第一个可能有无效的配置,而我搞乱了第二个。或者我没能每次都重新启动因果报应。谁知道呢。这很有效。:)谢谢。我猜这里热心的版主可能想把这贴上“愚弄”的标签。