teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

ちょっと表現を変える

2018/01/13 18:11

投稿

raccy
raccy

スコア21784

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  import/export文の仕組みを使ってJavaScriptのファイルを複数に分割する形式を**モジュール**というのですが、モジュールを使う最大の目的は**各ファイルで定義されている変数や関数の見える範囲を限定する**ためです。まず、この目的を見失ってはいけません。webpackはこのモジュールを使った方法をモジュールに対応していない環境でも使えるように一つのファイルにまとめるツールにすぎません。最新のモダンブラウザであれば、<script type="module">を使用して、複数にわかれたままブラウザから読み出すことも出来ます([対応状況](https://caniuse.com/#feat=es6-module))。
2
2
 
3
- 二つ以上のファイルで同じ変数や関数を使いたい場合、まずはそれを定義しているファイルで`export`を使って、**これは公開していますよ**と明示しなければなりません。そして、それを使用する側は`import`を使って公開されているものにアクセスしますよと明示しなければなりません。それを踏まえて、`hoge`を見えるようにするには次のように書く必要があるでしょう。
3
+ 二つ以上のファイルで同じ変数や関数を使いたい場合、まずはそれを定義しているファイルで`export`を使って、**これは公開していますよ**と明示しなければなりません。そして、それを使用する側は`import`を使って公開されているものにたいて**これを使いますよ**と明示しなければなりません。それを踏まえて、`hoge`を見えるようにするには次のように書く必要があるでしょう。
4
4
 
5
5
  main.js
6
6
  ```JavaScript