Javascript 如何重构由同一函数定义的导出常量的长列表,使其更加干燥

Javascript 如何重构由同一函数定义的导出常量的长列表,使其更加干燥,javascript,es6-modules,Javascript,Es6 Modules,我目前正在准备多个包含翻译键的文件,其中每个键都是一个命名的导出,可以导入到我的ReactJS项目中的任何组件中。我试图保持文件尽可能干燥,但我遇到了一个问题,即一遍又一遍地重写同一个函数以生成每个命名导出的密钥,我想知道是否有更干净的方法只编写一次函数 我曾考虑通过循环每个键并将其传递到函数中来导出包含所有键的单个对象,但这种方法将打破树抖动,因为我还希望在不导入任何未使用的键的情况下使代码分割块尽可能小 import { getTranslationKey } from '../../lib

我目前正在准备多个包含翻译键的文件,其中每个键都是一个命名的导出,可以导入到我的ReactJS项目中的任何组件中。我试图保持文件尽可能干燥,但我遇到了一个问题,即一遍又一遍地重写同一个函数以生成每个命名导出的密钥,我想知道是否有更干净的方法只编写一次函数

我曾考虑通过循环每个键并将其传递到函数中来导出包含所有键的单个对象,但这种方法将打破树抖动,因为我还希望在不导入任何未使用的键的情况下使代码分割块尽可能小

import { getTranslationKey } from '../../libs/Translation'

const root = "button"
const getButtonKey = (key) => getTranslationKey(root, key)

// each named export will be in the format of root.key e.g. "button.update"
export const BUTTON_UPDATE_KEY = getButtonKey('update')
export const BUTTON_SAVE_KEY = getButtonKey('save')
export const BUTTON_CANCEL_KEY = getButtonKey('cancel')

// more named exports using the getButtonKey arrow function