javascript - ES 模块 : deprecate export

标签 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 将导出的函数包装在另一个已弃用的函数中。我认为这对于像我正在工作的小型图书馆来说不是最佳选择。

是否还有其他我忽略的方法?

最佳答案

在 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/

相关文章:

javascript - typescript 中的类接口(interface)

javascript - js es6类构造函数在构造函数实例化之前运行

javascript - 无状态函数式组件需要导入 React 吗?

php - 如何将这个图像预加载器实现到我的 php 文件中?

javascript - 将参数传递给另一个组件时出错

javascript - 如何在 React 中使用 POST 方法将对象添加到数据库?

javascript - 使用全局安装的预设进行 Babelify 转换

java - 如何使用注释删除 fromHtml 已弃用的磨损

使用已贬值的 funs() 重新编写旧代码,并且无法使 n() 工作

swift - 数量类型(标识符 :) deprecated in a future version of iOS?