70 lines
1.9 KiB
Markdown
Raw Normal View History

2019-05-31 15:21:47 -05:00
---
id: 587d7b8c367417b2b2512b55
title: Reuse JavaScript Code Using import
2019-05-31 15:21:47 -05:00
challengeType: 1
forumTopicId: 301208
2019-05-31 15:21:47 -05:00
---
# --description--
`import` allows you to choose which parts of a file or module to load. In the previous lesson, the examples exported `add` from the `math_functions.js` file. Here's how you can import it to use in another file:
2019-05-31 15:21:47 -05:00
```js
import { add } from './math_functions.js';
```
Here, `import` will find `add` in `math_functions.js`, import just that function for you to use, and ignore the rest. The `./` tells the import to look for the `math_functions.js` file in the same folder as the current file. The relative file path (`./`) and file extension (`.js`) are required when using import in this way.
2019-05-31 15:21:47 -05:00
You can import more than one item from the file by adding them in the `import` statement like this:
2019-05-31 15:21:47 -05:00
```js
import { add, subtract } from './math_functions.js';
```
# --instructions--
Add the appropriate `import` statement that will allow the current file to use the `uppercaseString` and `lowercaseString` functions you exported in the previous lesson. These functions are in a file called `string_functions.js`, which is in the same directory as the current file.
2019-05-31 15:21:47 -05:00
# --hints--
2019-05-31 15:21:47 -05:00
You should properly import `uppercaseString`.
2019-05-31 15:21:47 -05:00
```js
assert(
code.match(
/import\s*{\s*(uppercaseString[^}]*|[^,]*,\s*uppercaseString\s*)}\s+from\s+('|")\.\/string_functions\.js\2/g
)
);
2019-05-31 15:21:47 -05:00
```
You should properly import `lowercaseString`.
2019-05-31 15:21:47 -05:00
```js
assert(
code.match(
/import\s*{\s*(lowercaseString[^}]*|[^,]*,\s*lowercaseString\s*)}\s+from\s+('|")\.\/string_functions\.js\2/g
)
);
```
# --seed--
## --seed-contents--
2019-05-31 15:21:47 -05:00
```js
2019-05-31 19:48:23 -05:00
// Only change code above this line
2019-05-31 15:21:47 -05:00
2019-05-31 19:48:23 -05:00
uppercaseString("hello");
lowercaseString("WORLD!");
2019-05-31 15:21:47 -05:00
```
# --solutions--
2019-05-31 15:21:47 -05:00
```js
2019-06-01 07:55:24 -05:00
import { uppercaseString, lowercaseString } from './string_functions.js';
2019-05-31 19:48:23 -05:00
uppercaseString("hello");
lowercaseString("WORLD!");
2019-05-31 15:21:47 -05:00
```