【发布时间】:2017-06-23 12:56:44
【问题描述】:
给定带有 angular-cli(1.1.3 版)的 angular 版本 4.2.4 和以下代码:
import languagesJsonRaw from './languages/en.json';
import countriesJsonRaw from './countries/en.json';
export const languages = prepareLanguages(languagesJsonRaw);
export const countries = prepareCountries(countriesJsonRaw);
这在我运行 npm start(触发 ng serve)时有效 - languages 和 countries 可用于应用程序。
当我运行npm test 时,基本上会触发:
ng test --reporters dots,html --browsers Chrome --watch
那么languagesJsonRaw 和countriesJsonRaw 是未定义的。
如何将这些文件也提供给测试运行者?我认为我们不需要为他们做任何特别的事情就可以从ng serve 或ng build 获得它们,甚至可以使用 AOT。
它是默认的 angular-cli 项目,所以我认为测试运行器是业力。
Github 问题:https://github.com/angular/angular-cli/issues/6786
【问题讨论】:
-
我从来没有像这样导入 json,我总是在 json 的路径上创建一个 http.get,我想它应该可以工作
-
你好,这个问题你解决了吗?如果没有,请对您的代码提出建议,我认为您应该更改导入这些 json 文件的方式,例如: import * as json from './languages/en.json';... 也许它已经太晚了
-
您可以查看 Kaloyan Kosev 的答案stackoverflow.com/a/44930845/3848632。我遇到了同样的问题,并且有效。
标签: angular typescript karma-runner angular-cli