打字稿中的 module.export。导入 json 列表

发布于 2025-01-10 03:42:37 字数 1243 浏览 0 评论 0原文

这看起来很简单,它在 javascript 中运行,但我对 typescript 最接近的等价物有点困惑。我正在尝试以我从 javascript 知道的方式使用 module.exports,在 3 个文件之间传递 json 列表数据。

在 javascript 中,主文件基本上是这样工作的:- main.js :

const { mainnet: addresses } = require("./addresses");

const token0 = addresses.tokens.busd;

那么,main.ts 会是什么呢? (我相信主要问题在这里):

import  { mainnet } from "./addresses/index";

token0 = mainnet.tokens.busd;

然后在./address/index.ts中输入index.ts(我相信这个功能正常):

import  tokensMainnet  from './tokens-mainnet.json';

declare var module: any;
// "allowSyntheticDefaultImports" = true
module.exports = {
  mainnet: {
    tokens: tokensMainnet
  }
};

和tokensmainnet.json

{
  "busd": "0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56",
  "wbnb": "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c"
}

我可以从它正在运行的元数据中看到:

输入图像描述这里

所以我相信在 main.ts 中导入这个模块的主要问题

我已经浏览了一些来源,例如没有运气 https://www.typescriptlang.org/docs/handbook/modules.html

It seems simple, this operates in javascript, but I'm a bit confused about typescript's closest equivalent. I'm trying to use module.exports in the way I know from javascript, passing data the json list data between 3 files.

in javascript the main file basically works as this: -
main.js :

const { mainnet: addresses } = require("./addresses");

const token0 = addresses.tokens.busd;

so, main.ts would be? (i believe main issue is here):

import  { mainnet } from "./addresses/index";

token0 = mainnet.tokens.busd;

then typescript index.ts in ./address/index.ts (i believe this functions properly):

import  tokensMainnet  from './tokens-mainnet.json';

declare var module: any;
// "allowSyntheticDefaultImports" = true
module.exports = {
  mainnet: {
    tokens: tokensMainnet
  }
};

and tokensmainnet.json

{
  "busd": "0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56",
  "wbnb": "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c"
}

i can see from the metadata it's functioning:

enter image description here

so I believe the main problem with with importing this module in the main.ts

I've grazed over some sources such as with no luck https://www.typescriptlang.org/docs/handbook/modules.html

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

︶葆Ⅱㄣ 2025-01-17 03:42:37

在 typescript 中

添加

"resolveJsonModule":true 

到 package.json:

“允许导入带有“.json”扩展名的模块,这是节点项目中的常见做法。这包括基于静态 JSON 形状生成导入类型。” -https://www.typescriptlang.org/tsconfig#resolveJsonModule

所以添加到 main.ts:

import * as data from "./addresses/tokens-mainnet.json" 
    //...program code...
constructor(){
 let tokenAddress = data
    console.log(tokenAddress.busd)

}

:)

in typescript

add

"resolveJsonModule":true 

to package.json:

" Allows importing modules with a ‘.json’ extension, which is a common practice in node projects. This includes generating a type for the import based on the static JSON shape." -https://www.typescriptlang.org/tsconfig#resolveJsonModule

so add to main.ts:

import * as data from "./addresses/tokens-mainnet.json" 
    //...program code...
constructor(){
 let tokenAddress = data
    console.log(tokenAddress.busd)

}

:)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文