Javascript 如何使用js中的一行导出所有类成员?版本>;=es6

Javascript 如何使用js中的一行导出所有类成员?版本>;=es6,javascript,Javascript,似乎这在es5中是可能的,想象一下Nexti18下一步在其中有一些功能: module.exports=new NextI18Next({ 其他语言:['ko'], defaultLanguage:'en', ns:[“翻译”], defaultNS:“翻译”, localePath:path.resolve(“../../public/locales”), }) /////////// 从“…”导入{appWithTranslation,…} appWithTranslation() 因此,

似乎这在es5中是可能的,想象一下Nexti18下一步在其中有一些功能:

module.exports=new NextI18Next({
其他语言:['ko'],
defaultLanguage:'en',
ns:[“翻译”],
defaultNS:“翻译”,
localePath:path.resolve(“../../public/locales”),
})
///////////
从“…”导入{appWithTranslation,…}
appWithTranslation()
因此,您只需使用
模块即可导出所有类成员
在es6中>=版本

您应该这样使用:

const i18n=new NextI18Next({
其他语言:['ko'],
defaultLanguage:'en',
ns:[“翻译”],
defaultNS:“翻译”,
localePath:path.resolve(“../../public/locales”),
})
导出默认i18n
导出常量appWithTranslation=i18n.appWithTranslation
导出常量usetransformation=i18n.usetransformation
// ...
///////// 
从“…”导入{appWithTranslation,…}
appWithTranslation()
似乎无法导出es5中的所有类成员

是否有方法像es5一样导出所有类成员?

静态导入: 对于静态导入,可以使用执行以下操作:

export default new NextI18Next({
  otherLanguages: ['ko'],
  defaultLanguage: 'en',
  ns: ['translations'],
  defaultNS: 'translations',
  localePath: path.resolve('../../public/locales'),
})
然后像这样导入:

import myModule from "...";
const { appWithTranslation, ... } = myModule;
我认为,对于静态导入,所有导出都需要命名或默认;不能导入任何未显式导出的内容。在本例中,
appWithTranslation
没有显式导出,因此我认为最好使用两行,一行导入默认对象,另一行解构赋值

另见

动态导入 在动态导入的情况下,可以使用解构分配在一行中导入:

(async function () {
  const { default: { appWithTranslation } } = await import('./filename.js');
  appWithTranslation();
})();

不,您必须在ES6中明确说明命名导出

在大多数情况下,如果类成员(尤其是未绑定的方法)已经是导出实例对象的一部分,则无论如何都不应该单独导出它们