firescript
Version:
Firescript transpiler
87 lines (64 loc) • 2.01 kB
Markdown
import
======
The import statement imports functions and objects from an external script or module
(i) The `import` and `require()` statements in Javascript are different.
Read more at this [blog post](https://medium.com/the-node-js-collection/an-update-on-es6-modules-in-node-js-42c958b890c)
Syntax
------
##### Import defaultExport
```
import [defaultExport] from [source]
```
##### Inline syntax
```
import { [export1], [export2] } from [source]
import { [export1] as [alias], [export2] as [alias] } from [source]
```
```
import
[]
[]
from [source]
import
[] as [alias]
[] as [alias]
from [source]
```
```fire
import banana from 'banana'
```
```js
import banana from 'banana'
```
```fs
import identifier from 'source'
import { identifier, identifier2 } from 'source'
```
gets transpiled into
```js
const identifier = require('source');
const __destruct001 = require('source');
const identifier = __destruct001.identifier;
const identifier2 = __destruct001.identifier2;
```
| Firescript | Javascript |
| --------------------------- | -------------------------------- |
| import ** as foo from 'foo' | import default as foo from 'foo' |
| import * as foo from 'foo' | import f * as oo from 'foo' |
| import foo from 'foo' | import foo from 'foo' |
| import foo, bar | import { foo, bar } from 'foo' |
| | |
import ** from "module-name";
import * as name from "module-name";
import { export } from "module-name";
import { export as alias } from "module-name";
import { export1 , export2 } from "module-name";
import { export1 , export2 as alias2 , [...] } from "module-name";
import defaultExport, { export [ , [...] ] } from "module-name";
import defaultExport, * as name from "module-name";
import "module-name";