作为图书馆管理员,我想弃用旧的导出以支持新的导出。
为了保持向后兼容性,我想暂时保留两个导出并警告那些仍在使用旧导出的用户 .
之前
function foo(){}
export {foo as oldExport}
之后
function foo(){}
export {foo as newExport}
export {foo as oldExport} // When user import it I'd like to fire a `console.warn`
我想到的唯一解决方案是使用 external libraries 或将导出的函数包装在另一个已弃用的函数中。我认为这对于像我正在工作的小型图书馆来说不是最佳选择。
是否还有其他我忽略的方法?
最佳答案
在 JavaScript 中没有官方方法可以做到这一点(据我所知)。
至少在 IntelliJ IDEA 和可能大多数其他 IDE 中有效的一种方法是下面的方法。它会将 oldExport
的任何导入和任何使用标记为已弃用(默认情况下使用删除线格式化)。
function foo() {}
export {foo as newExport}
/**
* @deprecated
*/
const oldExport = foo;
export {oldExport}
参见 http://usejsdoc.org/tags-deprecated.html
如果日志消息是绝对必要的(我不会那样做),那么你必须自己做。
关于javascript - ES 模块 : deprecate export,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49151748/