当我使用最新的 angular-cli(beta 15 w/webpack)运行 ng test 时,如何提供资产?
Posted
技术标签:
【中文标题】当我使用最新的 angular-cli(beta 15 w/webpack)运行 ng test 时,如何提供资产?【英文标题】:How do I serve assets when I run ng test using latest angular-cli (beta 15 w/webpack)? 【发布时间】:2017-02-26 13:26:04 【问题描述】:当我尝试运行 ng 测试时,我的所有模块和组件都正确加载,但我包含在 <img>
标记中的任何资产都不会呈现,因为它们没有在 /assets 文件夹中提供(例如他们会在构建或开发过程中使用 ng serve)
除此之外,如果我将 CSS 放入组件中并禁用 ViewEncapsulation。
我正在使用最新的 angular-cli webpack 版本(Beta 15)
非常感谢任何帮助。
【问题讨论】:
【参考方案1】:我找到了答案!
默认情况下,angular-cli (webpack) 中的 karma 设置不会默认为您的 assets 文件夹提供服务,但添加起来非常简单(一旦您筛选文档)
下面是我的结果的屏幕截图和我添加的代码以使其工作
在左边你可以看到我的比利·梅斯的形象正在被送达,在右边如果你看一下 json 的“文件”部分,我添加了以下内容:
pattern: './src/assets/**', watched: false, included:false, nocache:false, served:true
我还添加了一个代理属性,用于获取服务内容(默认在http://localhost:[karma端口号服务)/base
proxies:
'/assets/': '/base/src/assets/'
,
通过指定/assets/
作为文件夹代理,karma 使用路径
localhost:[karma port number]/assets
而不是默认值。
我很高兴我能够提出自己的问题,并希望这可以帮助一些从 angular-cli 开始的人!
【讨论】:
我知道它说不要说谢谢,但是,谢谢!我在第一次阅读时错过了上面的“文件”部分,因为它没有像“代理”部分那样标记为代码 - 也许你可以重新格式化? 它可以作为这个错误的解决方案。 github.com/angular/angular-cli/issues/14593 @ProgrammerInProgress,你知道如何通过 http 请求文件吗:http.expectOne('./assets/i18n/2/en.json') 可以吗? 非常古老但非常相关的帖子。确实谢谢你。顺便说一句,当代理部分未设置为UnhandledRejection: Cannot read property 'range' of undefined
时,业力和 webpack 当前会崩溃。请参阅我的帖子***.com/a/65347089/2416394,它最终会链接到您,因为您的解决方案要好得多:)以上是关于当我使用最新的 angular-cli(beta 15 w/webpack)运行 ng test 时,如何提供资产?的主要内容,如果未能解决你的问题,请参考以下文章
angular-cli 如何添加 sass 和/或引导程序?