And*_*aro 5 javascript ecmascript-6 deprecation-warning
作为图书馆管理员,我想弃用旧导出以支持新导出。
为了保持向后兼容性,我想暂时保留这两个出口并警告那些仍在使用旧出口的用户。
前
function foo(){}
export {foo as oldExport}
Run Code Online (Sandbox Code Playgroud)
后
function foo(){}
export {foo as newExport}
export {foo as oldExport} // When user import it I'd like to fire a `console.warn`
Run Code Online (Sandbox Code Playgroud)
我想出的唯一解决方案包括使用外部 库或将导出的函数包装在另一个已弃用的函数中。我认为这对于我正在研究的小型图书馆来说不是最佳选择。
有没有我忽略的其他方法?
JavaScript 中没有官方的方法可以做到这一点(据我所知)。
至少在 IntelliJ IDEA 以及可能大多数其他 IDE 中有效的一种方法是下面的方法。它将把任何导入和任何使用标记oldExport为已弃用(默认格式带有删除线)。
function foo() {}
export {foo as newExport}
/**
* @deprecated
*/
const oldExport = foo;
export {oldExport}
Run Code Online (Sandbox Code Playgroud)
请参阅http://usejsdoc.org/tags-deprecated.html
如果日志消息是绝对必要的(我不会这样做),那么你必须自己做。
| 归档时间: |
|
| 查看次数: |
1060 次 |
| 最近记录: |