打字稿:如何导出变量

Cra*_*hax 40 import module export typescript

我想打开'file1.ts'并写道:

export var arr = [1,2,3];
Run Code Online (Sandbox Code Playgroud)

并打开另一个文件,让我们说'file2.ts'并直接访问file1.ts中的'arr':

我是这样做的:

import {arr} from './file1';
Run Code Online (Sandbox Code Playgroud)

但是,当我想访问'arr'时,我不能只写'arr',但我必须写'arr.arr'.第一个是模块名称.如何直接访问导出的变量名称?

Mik*_*ark 50

如果你这样做:

var arr = [1,2,3];
export default arr;
Run Code Online (Sandbox Code Playgroud)

...

import arr from './file1';
Run Code Online (Sandbox Code Playgroud)

然后它应该工作


Kie*_*ran 47

有两种不同类型的导出,名为defaultdefault.

每个模块可以有多个命名导出,但只有一个默认导出.

对于命名导出,您可以尝试类似...

// ./file1.ts
const arr = [1,2,3];
export { arr };
Run Code Online (Sandbox Code Playgroud)

然后导入你可以使用相同的语句

// ./file2
import { arr } from "./file1";
console.log(arr.length);
Run Code Online (Sandbox Code Playgroud)

这将满足arr.arr您提到的需求