我正在使用超棒的4.70,Angular 6.0.8和cli 6.0.8(下面有完整版本),我正在尝试用cli的“ ng build”替换我们现有的webpack进程。我遇到了字体真棒图标无法显示的问题。过去,我曾在较旧的版本中看到过类似的问题,但是我还没有找到解决方案。
我将字体挂在我的资产中
assets:[
"./node_modules/font-awesome/fonts",
//other assets
]
Run Code Online (Sandbox Code Playgroud)
我在angula.json的样式部分中加入了CSS
styles:[
"./node_modules/font-awesome/css/font-awesome.css",
//other styles
]
Run Code Online (Sandbox Code Playgroud)
我不是在使用“ ng serve”,而是在使用build命令来编译我的代码。在浏览器中,我得到这些错误。
GET http:// localhost:29380 / fontawesome-webfont.woff2?v = 4.7.0 404(未找到)
GET http:// localhost:29380 / fontawesome-webfont.woff?v = 4.7.0 404(未找到)
GET http:// localhost:29380 / fontawesome-webfont.ttf?v = 4.7.0 404(未找到)
我在输出目录中看到了资产,但是由于某些原因,这些资产不可用,我得到了404。
我想为一个对象创建两种类型。对象本身的类型和验证错误的类型。这两种类型将具有相同的属性名称,但属性将具有不同的类型。
type Person = {
name: string,
age: number,
married: boolean
}
type PersonValidationError = {
name?: string,
age?: string,
married?: string
}
Run Code Online (Sandbox Code Playgroud)
在用户填写构建对象的表单后,Person我想通过一些验证来运行它,如果出现错误,我想创建错误对象,该对象将在相应的属性中包含错误消息。有没有一种方法可以将其PersonValidationError与Person类型本身联系起来,这样当我添加更多属性时,Person我就不必担心它们不同步。
我的第一个想法是使用keyof
type PersonValidationError = {
[prop: keyof Person]: string
}
Run Code Online (Sandbox Code Playgroud)
但据我了解,这是无效的,keyof不能在索引签名中使用。
我也知道PersonValidationError它的所有属性都标记为可选,但如果我无法更改道具的要求,那也没关系,因为我总是可以将其包装在Partial<>