我正在尝试在 karma 测试中设置很棒的字体,但是会出现以下错误
Chrome 58.0.3029 (Windows 10 0.0.0) 错误
未捕获的语法错误:无效或意外的标记
在 node_modules/font-awesome/fonts/fontawesome-webfont.woff2:1
即使存在该错误,正常的测试执行 (ng test
) 也能正常工作,因为它只是被忽略了。
但是,当我运行 headless 测试 (ng test --browsers='PhantomJS' --single-run=true
) 时,这并不适用,这会破坏我的自动构建管道。
我正在使用由 angular/cli 创建的 Angular 4,为了在我的测试中获得 Font Awesome ,我在 karma.conf.js 中添加了以下内容
files: [
{ pattern: './node_modules/font-awesome/fonts/fontawesome-webfont.woff2*', watched: false },
{ pattern: './node_modules/font-awesome/fonts/fontawesome-webfont.woff*', watched: false },
{ pattern: './node_modules/font-awesome/fonts/fontawesome-webfont.ttf*', watched: false },
{ pattern: './node_modules/font-awesome/css/font-awesome.css', watched: false },
],
根据我目前的研究,此错误是由于附加版本(例如 ?v=4.4.0)而 font awesome css 获取文件引起的。 我可以通过在 webpack 中设置自定义加载器来修复它。
但是,由于 angular/cli 隐藏了这个实现,我似乎找不到解决方案。
最佳答案
对我来说,它只是添加:
files: [
"node_modules/font-awesome/css/font-awesome.css",
{
pattern: 'node_modules/font-awesome/fonts/*',
watched: false,
included: false,
served: true,
nocache: false
}
]
到 karma.conf.js
- 显示图标。
关于Angular karma Font Awesome - SyntaxError : Invalid or unexpected token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43780202/