Javascript ES模块:不推荐导出

Javascript ES模块:不推荐导出,javascript,ecmascript-6,deprecation-warning,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` 我提出的唯一解决方案

作为一名图书馆管理员,我想反对旧的导出而支持新的导出

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

之前

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`
我提出的唯一解决方案是使用将导出的函数包装到另一个不推荐使用的函数中。我不认为像我正在工作的小图书馆那样优化。


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

在JavaScript中没有正式的方法可以做到这一点(据我所知)

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


如果日志消息是绝对必要的(我不会这样做),那么您必须自己执行此操作。

如果不在新导出中保留此功能,您将如何执行弃用警告?不管怎样,包装函数似乎是最好的方法。这真的很有用,谢谢。我曾尝试将导出标记为已弃用,但使用变量只能使用一次。
function foo() {}
export {foo as newExport}

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