首页 > 解决方案 > 如何从 TypeScript 上的另一个文件导入常量?

问题描述

这很尴尬,但我试图将所有常量分离到一个新文件中并导入它,以保持干净。但是,我尝试过的任何方法都不起作用,这里关于 SO 的所有其他问题似乎都围绕着导入类和函数。

我有一个名为 的文件constants.tsx,其中声明了所有常量:

export const default_bg               = "#2456a5"
export const default_light_font_color = "white"
export const default_lg_font_size     = 11
export const default_md_font_size     = 10
export const default_sm_font_size     = 9
export const default_dark_font_color  = "#000028"
export const default_font             = "arial"

以及到目前为止具有所有功能的主文件App.tsx

import * as React from 'react';
import { Header } from './Header';
import { Body } from './Body';

import * as defaults from 'constants'

...

但是,defaults(或我给导入的任何其他名称)似乎不包含常量。写作defaults.default_bg给了我这个错误:

TS2339:“typeof import(“constants”)”类型上不存在属性“default_bg”。

console.log(defaults)打印:

在此处输入图像描述

我知道这可能非常简单,但我不知道该怎么做。一般来说,我是 Typescript 和 Javascript 的新手。

标签: typescript

解决方案


从“常量”导入 * 作为默认值

上面告诉节点在里面/node_modules寻找一个constants模块。

将该行更改为:

import * as defaults from './path/to/constants'

至于打印到控制台的内容是另一回事,因为它肯定会在您的defaults导入标识符中添加一些内容。


推荐阅读