我们在 safari 中发现了 URL 对象的意外行为。当您将 URL 转换为字符串时,如果您将 port 属性设置为空字符串,它将添加0port( :0)。例如
let url = new URL('https://www.example.com');
url.port = '';
console.log(url.toString()); // expected "https://www.example.com/", actual "https://www.example.com:0/"Run Code Online (Sandbox Code Playgroud)
从规范我看到:
如果给定的值为空字符串,则将上下文对象的 URL 端口设置为 null。
那么它是 safari 中的错误还是功能?
我们的应用程序使用 magento 的模板,有时会触发错误(例如错误的 props 或特殊字符)。这些错误将在生产模式下被消除。
但我们应该通过 TrackJs 来跟踪它。那么,是否可以在生产模式下捕获警告?
警告示例:
[Vue warn]:编译模板时出错: