ES模块:弃用导出

时间:2018-03-07 12:16:13

标签: javascript ecmascript-6 deprecation-warning

作为图书馆管理员,我想弃用旧的出口,转而选择新的出口

为了保持向后兼容性,我希望暂时保持两个导出警告那些仍然使用旧用户的用户

之前

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 将导出的函数包装到另一个已弃用的函数中。对于像我正在研究的小型图书馆而言,我认为这不是最佳选择。

还有其他方法我忽略了吗?

1 个答案:

答案 0 :(得分:0)

在JavaScript中没有正式的方法(据我所知)。

至少在IntelliJ IDEA和大多数其他IDE中工作的一种方法是下面的方法。它会将oldExport的任何导入和使用标记为已弃用(默认情况下使用删除线格式化)。

function foo() {}
export {foo as newExport}

/**
 * @deprecated
 */
const oldExport = foo;
export {oldExport}

请参阅http://usejsdoc.org/tags-deprecated.html

如果绝对需要日志消息(我不会这样做),那么你必须自己做。