最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何评估字符串使其成为 TS 导入路径?

网站源码admin35浏览0评论

如何评估字符串使其成为 TS 导入路径?

如何评估字符串使其成为 TS 导入路径?

考虑下面的简单函数:

import * as fr_index from "../locales/index/fr.json"

export const translate = (key: string, from: string) => {

  console.log(fr_index.greeting)   // hello world

  console.log(from)                // fr_index
  console.log(key)                 // greeting
  console.log(from.key)            // undefined <-- Problem
  console.log(from[key])           // undefined <-- Problem
}

如何评价

from.key
来展示
hello world

我试过
path
和/或
eval()
但没有成功。谢谢

回答如下:
// import * as fr_index from "../locales/index/fr.json"
const fr_index = { greeting: 'hello world' } as const

const DataSheet = {
  fr_index,
} as const

export const translate = <F extends keyof typeof DataSheet, K extends keyof typeof DataSheet[F]>(
    from: F, key: K
) => {
    return DataSheet[from][key]
}
let s = translate('fr_index', 'greeting')
//  ^?
// let s: "hello world"

发布评论

评论列表(0)

  1. 暂无评论