Reputation: 15064
I want to open 'file1.ts' and write:
export var arr = [1,2,3];
and open another file, let's say 'file2.ts' and access directly to 'arr' in file1.ts:
I do it by:
import {arr} from './file1';
However, when I want to access 'arr', I can't just write 'arr', but I have to write 'arr.arr'. The first one is for the module name. How do I access directly an exported variable name?
Upvotes: 95
Views: 128115
Reputation: 18059
There are two different types of export, named and default.
You can have multiple named exports per module but only one default export.
For a named export you can try something like:
// ./file1.ts
const arr = [1,2,3];
export { arr };
Then to import you could use the original statement:
// ./file2.ts
import { arr } from "./file1";
console.log(arr.length); // 3
This will get around the need for arr.arr
you mentioned.
How do pirates know that they are pirates? They think, therefore they ARR!!
Upvotes: 147
Reputation: 1413
If you do:
var arr = [1,2,3];
export default arr;
...
import arr from './file1';
Then it should work
Upvotes: 66