webpack + Babelで始める新しいJavaScript – 1

2017/11/10 15:03
LINE

※2017年11月時点の情報です。

カウントダウンを表示したり、ポップアップウィンドウをだしたり、Webサイトの表現を広げることができる、とても便利なJavaScript。簡単なことをするだけなら学習のハードルもあまり高くないので多くの方が使っていると思います。

ただ、モジュール化ができないので大規模な開発には向かないと、以前からずっと言われていました。

しかし!ES2015の登場で、モジュール化できるようになったため、可読性の高い書き方ができるようになり、比較的大規模な開発も可能になったのです。

Angular.jsやVue.jsなどフロント側のライブラリも充実してきたため、SPA(シングルページアプリケーション)と呼ばれる、Webアプリケーションも流行のようです。

Webサイト制作では、HTMLとCSS、簡単なJavaScriptができれば、ほとんど足りるため、最新の技術が必要な場面は実際にはあまりないと思います。

とはいえ最新技術に触れることは創作の刺激になり、それだけでなく、これまでの業務の効率化も図れるかもしれません。

ES2015関連の記事も多くなってきていますが、備忘録も兼ねて導入から実装までを連載形式で簡単に紹介いたします。

新しいJavaScriptを使ってみたい!勉強してみたい!そうお考えであれば、『webpack』と『Babel』を導入してES2015を使ってみましょう!

『ES2015』とは

ES2015とは、2015年に策定されたECMAScriptの仕様のことを言います。

「ES」は『ECMAScript』の略で、「2015」は『2015年』を意味しています。

ECMAScriptはJavaScriptの根幹となる仕様のことで、大雑把にいえば、ECMAScriptをもとにしてそれぞれのブラウザが独自に拡張して実装しているものがJavaScriptというイメージです。

Web業界の技術を見ていると目にすることも増えてきたと思いますが、それは、ES2015では大幅に機能追加がなされていて、できることが増えたと同時に覚えなければならないことが多くなったためだと考えます。

『webpack』と『Babel』とは

ES2015は、実はブラウザでは使えない仕様がいくつかあるので、書いたものをそのままアップロードしても正しく動かない場面が多々あります。

そのため、ブラウザが使える形にトランスパイル(変換)する必要があります。

トランスパイルをするために使われるのが、『webpack』『Babel』です。細かく言うとBabelがトランスパイルを行うのですが、モジュール機能が使えないため不足部分をwebpackに担当させるイメージです。

どちらも、Node.jsが必要なので、事前に準備をお願いいたします。

手前味噌ではありますが、Node.jsのインストールについては以下の記事が参考になれば幸いでございます。

Windowsをご利用の方

Node.jsのインストール (Windows編)

Node.jsのインストール (Windows編)

この記事では、Node.jsの詳しい説明は行わず、Node.jsのバージョン管理システム導入からNode.jsのインストールまでをゴールとして、解説していきます。

Macをご利用の方

Node.jsのインストール (Mac編)

Node.jsのインストール (Mac編)

この記事では、MacにおけるNode.jsのインストールを、バージョン管理システム『ndenv』を経由して解説します。

『webpack』と『Babel』を使えるようにする

コマンドラインから下記のコマンドを順番に実行してください。

STEP 1


cd 作業ディレクトリ
    

STEP 2


npm init -y
    

STEP 3


npm i -D webpack babel-core babel-loader babel-preset-es2015
    

実行後、ディレクトリは次のようになっているはずです。(Windows7での例)

ディレクトリ

今回インストールするのは「webpack」「babel-core」「babel-loader」「babel-preset-es2015」の4つです。

それぞれ以下のような用途があります。

webpackモジュールをまとめる
babel-coreES2015のフォーマットで書かれたスクリプトをトランスパイルするBabelの本体
babel-loaderwebpackでBabelを使えるようにする。
babel-preset-es2015es2015を、ブラウザで使える形にトランスパイルする

これでES2015を使う準備が整いました。次回は実際にトランスパイルさせてみます。

まとめ

webpackとBabelを準備するところまでを紹介いたしました。重要なことは以下の通りです。

  • ES2015で作成したスクリプトをブラウザで使う場合はトランスパイルが必要
  • トランスパイルに使うのはBabel
  • モジュール機能はwebpackなどモジュールバンドラが必要

アップデートが早くまだまだ覚えることの多いJavaScriptですが、置いていかれずについていけるように励みましょう!

webpack + Babelで始める新しいJavaScript – 2

webpack + Babelで始める新しいJavaScript – 2

こちらでは、実際にES2015の記述を書いてトランスパイルする前に、ES2015で追加された仕様についてよく使うものを紹介いたします。

webpack + Babelで始める新しいJavaScript – 3

webpack + Babelで始める新しいJavaScript – 3

この記事は3記事目です。第1回、2回に引き続きES2015の使い方についてまとめました。

この記事を書いた人

SEOタイムズ 編集部

SEO対策実績「20,000社」を超えるGMOソリューションパートナー株式会社がインハウスSEOに取り組む企業様・個人に向けSEO情報を発信。

"Web初心者にもわかりやすく"をコンセプトにSEO対策情報をお届けします。

ランキング

  • 週間
  • 月間
【Illustratorのパターンの作り方】初心者でも簡単!パターンの基本を教えます!
1
【Illustratorのパターンの作り方】初心者でも簡単!パターンの基本を教えます!
2022/03/25 11:00
web
2
CSSでかっこいいアニメーションを作ろう!~animationの基本~
2022/07/08 18:34
web
#コーディング
3
【GA4】平均エンゲージメント時間とは?定義と滞在時間との違いを徹底解説
2023/02/27 12:00
SEOツール
#アナリティクス
4
AIツールとは?おすすめのAIツール27選をジャンル別にご紹介
2023/05/15 12:00
SEO対策
5
CSSの基本!横並びなどフレキシブルに対応する「Flexボックス」
2021/11/15 13:46
web
【Illustratorのパターンの作り方】初心者でも簡単!パターンの基本を教えます!
1
【Illustratorのパターンの作り方】初心者でも簡単!パターンの基本を教えます!
2022/03/25 11:00
web
2
CSSでかっこいいアニメーションを作ろう!~animationの基本~
2022/07/08 18:34
web
#コーディング
3
【GA4】平均エンゲージメント時間とは?定義と滞在時間との違いを徹底解説
2023/02/27 12:00
SEOツール
#アナリティクス
4
CSSの基本!横並びなどフレキシブルに対応する「Flexボックス」
2021/11/15 13:46
web
5
重ね言葉、知らないうちに使っていませんか?
2022/11/22 12:00
web
#ライティング

SEOタイムズとは?

SEOタイムズとは?

SEOタイムズは、Webマーケティングに取り組むWeb担当者向けのSEO対策特化型の情報メディアです。テーマは「SEO開拓者のバイブル」。

"初心者にもわかりやすく"をコンセプトに、SEO対策に関する有益な情報を発信しています。
20,000社以上の幅広い業種の集客支援実績から得られた経験とノウハウをベースに最新の情報をお届けします!

今すぐ出来るSEO対策情報も満載。あなたのWebマーケティング戦略を成功に導きます。