64 lines
1.1 KiB
Markdown
64 lines
1.1 KiB
Markdown
|
# babel-plugin-dynamic-import-node
|
||
|
|
||
|
Babel plugin to transpile `import()` to a deferred `require()`, for node. Matches the [proposed spec](https://github.com/domenic/proposal-import-function).
|
||
|
|
||
|
**NOTE:** Babylon >= v6.12.0 is required to correctly parse dynamic imports.
|
||
|
|
||
|
## Installation
|
||
|
|
||
|
```sh
|
||
|
npm install babel-plugin-dynamic-import-node --save-dev
|
||
|
```
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
### Via `.babelrc` (Recommended)
|
||
|
|
||
|
**.babelrc**
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"plugins": ["dynamic-import-node"]
|
||
|
}
|
||
|
```
|
||
|
|
||
|
#### Options
|
||
|
|
||
|
- *`noInterop`* - A boolean value, that if true will not interop the require calls. Useful to avoid using `require('module').default` on commonjs modules.
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"plugins": [
|
||
|
["dynamic-import-node", { "noInterop": true }]
|
||
|
]
|
||
|
}
|
||
|
```
|
||
|
|
||
|
### Via CLI
|
||
|
|
||
|
```sh
|
||
|
$ babel --plugins dynamic-import-node script.js
|
||
|
```
|
||
|
|
||
|
### Via Node API
|
||
|
|
||
|
```javascript
|
||
|
require('babel-core').transform('code', {
|
||
|
plugins: ['dynamic-import-node']
|
||
|
});
|
||
|
```
|
||
|
|
||
|
### Code Example
|
||
|
```javascript
|
||
|
Promise.all([
|
||
|
import('./lib/import1'),
|
||
|
import('./lib/import2')
|
||
|
]).then(([
|
||
|
Import1,
|
||
|
Import2
|
||
|
]) => {
|
||
|
console.log(Import1);
|
||
|
/* CODE HERE*/
|
||
|
});
|
||
|
```
|