我正在使用Typescript和一些由Typescript公开的ES6特征(如ES6 String Literals)开发项目`Something ${variable} Something else`
.
在调试问题时,我在我的打字稿文件中删除了一个断点,以便在源面板中逐步执行它,这通常可以正常工作.
但Chrome Dev Tools存在ES6字符串文字的问题,似乎无法识别ES6字符串文字的结尾.
相反,字符串文字后面的所有代码都标记为红色(调试器中的字符串突出显示)并且阻止了变量检查,因为chrome调试器似乎认为它只是一个庞大的字符串.
有人遇到过这个问题,找到了解决方案,或者知道这是否是谷歌Chrome开发工具的路线图?
编辑1:
看起来这个问题目前正由Chromium团队处理.请参阅问题报告以获取更新:
bugs.chromium.org/p/chromium/issues/detail?id=659515
编辑2: Bug已经打开很长一段时间了,但似乎没有被优先考虑.如果您遇到问题,请转到上面的chrome链接,并使用有用信息对其进行星标/评论,以便将其转移到Dev Tools团队的焦点.
string debugging google-chrome google-chrome-devtools typescript
使用自定义属性扩展JSON模式是否有效?
我问的原因是,因为我使用模式也为模式描述的JSON呈现一个表单(模式中描述的每个属性都用作带有标签和某种输入的表单元素).
能够使用我主要用于表单呈现的一些属性扩展模式会很有用,但是在使用模式验证JSON对象本身时会忽略这些属性.
我可以为JSON对象提供两种不同的表示形式(一种是模式,一种是具有自定义属性的对象的模式,我只是用于创建表单,但如果我可以将两者结合在一起,则更容易进行维护).
不幸的是,Google并没有太大的帮助,而且我没有大量使用JSON模式的经验,所以如果我遗漏了一些明显的东西,我会道歉.
编辑1:
示例架构代码段:
{
"title": "Example Schema",
"type": "object",
"properties": {
"firstName": {
"type": "string",
"CUSTOM_PROPERTY": "CUSTOM_VALUE"
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,上面只是一个片段,因此没有title
,$schema
等等.
使用Typescript版本2.4添加了弱类型检测.现在我同意这是一个很棒的功能,当你为类型的可选属性没有单一属性匹配的类型分配值时,它将有助于捕获大量的错误.
不幸的是,对于最初用Javascript编写然后迁移到Typescript的大型项目,将会出现使用弱类型漏洞的情况.
为了能够轻松迁移到TS 2.4,然后逐步删除所有弱类型的攻击 - 是否有人知道标志或黑客暂时禁用弱类型检测?
typescript ×2
debugging ×1
javascript ×1
json ×1
jsonschema ×1
string ×1
types ×1
weak-typing ×1