# How to dynamically import JavaScript modules

> Learn how to dynamically import a JavaScript module when the path is built at runtime, using the await import() syntax instead of a static import statement.

Author: Flavio Copes | Published: 2022-05-14 | Canonical: https://flaviocopes.com/javascript-dynamic-import/

Have you ever felt the need to load a [JavaScript module](https://flaviocopes.com/es-modules/) dynamically? 

Maybe you're trying to load something from a folder but you don't know the name of the folder, you generate it dynamically.

But doing something like

```js
import test from folder + '/test.js'
```

or 

```js
import test from `${folder}/test.js`
```

does not work.

You need to do a **dynamic import**, in this way:

```js
const test = await import(folder + '/test.js')
```

I wrote more about this relatively new feature of [JavaScript](https://flaviocopes.com/javascript/) in [JavaScript Dynamic Imports](https://flaviocopes.com/javascript-dynamic-imports/).
