【发布时间】:2022-05-06 19:20:32
【问题描述】:
我正在尝试在当前项目中完全使用 ES6+ 语法,但是,与 ES5 模块相比,ES6+ 模块似乎存在缺陷。
第一季度。有没有办法使用动态名称导出变量/函数,类似于对象中的动态键。
const externalName = 'Joeys\' Pizza'
const pizzaShop = {tel: '555-555-555'}
// ES5
exports[externalName] = pizzaShop // works ????
// ES6
export const [externalName] = pizzaShop // error ????
第二季度。我有一些我想重用的导出逻辑,所以我把它封装成一个函数。但是,似乎这种事情在 ES6+ 模块中是不可能的。
// ES5: all good ????
const exporter = db => {
exports.first = db.collections('first')
exports.second = db.collections('second')
}
// ES6: compiler says: Modifiers cannot appear here ????
const exporter = db => {
export const first = db.collections('first')
export const second = db.collections('second')
}
我们将不胜感激任何建议、信息或建议。目前,我觉得这两种模块语法可能只是以不同的方式处理,另一方面,可能有一些我不知道的解决方法。
提前致谢。
【问题讨论】:
标签: javascript ecmascript-6 ecmascript-5