当我使用最新的angular-cli(beta 15 w/webpack)运行测试时,如何提供资产?

Pro*_*ess 11 typescript webpack angular-cli angular

当我尝试运行ng测试时,我的所有模块和组件都正确加载,但我在<img>标签中包含的任何资产都不会渲染,因为它们没有在/ assets文件夹中提供(就像它们在构建中或在使用ng服务开发期间)

除此之外,最好知道如何将全局styles.scss/css文件包含在测试中,因为如果我将CSS放入组件并禁用ViewEncapsulation,我只能渲染这些样式.

我正在使用最新的angular-cli webpack版本(Beta 15)

任何帮助是极大的赞赏.

Pro*_*ess 21

我找到了答案!

默认情况下,angular-cli(webpack)中的karma设置默认情况下不会为您的assets文件夹提供服务,但这很容易添加(一旦筛选完文档)

下面是我的结果和我添加的代码的截图,以使其工作

在此输入图像描述

在左边你可以看到我的Billy Mays图像现在正在服务,如果你看一下json的'file'部分就在右边,我添加了以下内容:

{ pattern: './src/assets/**', watched: false, included:false, nocache:false, served:true }
Run Code Online (Sandbox Code Playgroud)

我还添加了一个代理属性,以获取所提供的内容(默认情况下在http:// localhost:[karma port number]/base

proxies: {
   '/assets/': '/base/src/assets/'
},
Run Code Online (Sandbox Code Playgroud)

通过指定/assets/为文件夹代理,karma使用路径localhost:[karma port number]/assets而不是默认路径 .

我很高兴我能够提出自己的问题,并希望这可以帮助一些人开始使用angular-cli!

  • 我知道它说不要说谢谢,但是,谢谢!我在第一次阅读时错过了上面的'文件'部分,因为它没有像'代理'部分那样被标记为代码 - 也许你可以重新格式化? (3认同)