freeCodeCamp/curriculum/challenges/english/02-javascript-algorithms-an.../es6/create-a-module-script.md

73 lines
1.7 KiB
Markdown
Raw Normal View History

2019-05-17 11:33:17 +00:00
---
id: 5cddbfd622f1a59093ec611d
title: Create a Module Script
2019-05-30 14:04:11 +00:00
challengeType: 6
forumTopicId: 301198
2019-05-17 11:33:17 +00:00
---
# --description--
JavaScript started with a small role to play on an otherwise mostly HTML web. Today, its huge, and some websites are built almost entirely with JavaScript. In order to make JavaScript more modular, clean, and maintainable; ES6 introduced a way to easily share code among JavaScript files. This involves exporting parts of a file for use in one or more other files, and importing the parts you need, where you need them. In order to take advantage of this functionality, you need to create a script in your HTML document with a type of `module`. Heres an example:
2019-05-17 11:33:17 +00:00
```html
<script type="module" src="filename.js"></script>
```
A script that uses this `module` type can now use the `import` and `export` features you will learn about in the upcoming challenges.
# --instructions--
Add a script to the HTML document of type `module` and give it the source file of `index.js`
# --hints--
You should create a `script` tag.
```js
assert(code.match(/<\s*script[^>]*>\s*<\/\s*script\s*>/g));
```
Your `script` tag should be of type `module`.
```js
assert(
code.match(
/<\s*script\s+[^t]*type\s*=\s*('|")module\1[^>]*>\s*<\/\s*script\s*>/g
)
);
2019-05-17 11:33:17 +00:00
```
Your `script` tag should have a `src` of `index.js`.
```js
assert(
code.match(
/<\s*script\s+[^s]*src\s*=\s*('|")index\.js\1[^>]*>\s*<\/\s*script\s*>/g
)
);
```
2019-05-17 11:33:17 +00:00
# --seed--
## --seed-contents--
2019-05-17 11:33:17 +00:00
```html
<html>
2019-05-30 14:04:11 +00:00
<body>
<!-- Only change code below this line -->
2019-05-17 11:33:17 +00:00
<!-- Only change code above this line -->
2019-05-30 14:04:11 +00:00
</body>
2019-05-17 11:33:17 +00:00
</html>
```
# --solutions--
2019-05-17 11:33:17 +00:00
```html
2019-05-30 14:04:11 +00:00
<html>
<body>
2019-06-01 12:17:57 +00:00
<script type="module" src="index.js"></script>
2019-05-30 14:04:11 +00:00
</body>
2019-05-17 11:33:17 +00:00
</html>
```