12
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Yarnを利用して、Reactをwebpack と babel-loaderでビルドする方法

Last updated at Posted at 2016-10-14

#初めに
Yarnという新しい技術を使ってみましたので、
学習内容のまとめとして記録します。
間違っている点がありましたらご指摘お願いします。

#Yarn環境の準備
##Yarnのインストール
npmでインストールします。

$ npm install -g yarnpkg

##ワーキングディレクトリの作成
ワーキングディレクトリを作成します。

$ mkdir hello-react-yarn

作成したディレクトリにyarn initコマンドを入力すると、
package.jsonが生成されます。

$ yarn init```

#必要なファイルの準備
以下のディレクトリで作成します。

$ mkdir src dist
$ touch ./src/app.jsx
$ touch ./index.html
$ touch .babelrc
$ touch webpack.config.js


hello-react-yarn/

├─ src/
│ └─ app.jsx
├─ dist
├─ .babelrc
├─ index.html
├─ package.json
├─ webpack.config.js
└─ yarn.lock


作成したindex.htmlファイルには、以下のように記述しておきます。

``` index.html
<!doctype html>

<html>

<head>
  <meta charset="utf-8">
  <title>Hello React</title>
</head>

<body>
  <div class="content"></div>
  <script src="./dist/bundle.js"></script>
</body>

</html>

#コンポーネントを作る

##Reactをインストールする
以下のコマンドでReactとreact-domをインストールします。

$ yarn add react react-dom

##Reactのコンポーネントを書く
以下のように記述します。

app.jsx
import React from 'react';
import ReactDOM from 'react-dom';

// コンポーネント名の頭文字は大文字にする
var HelloReact = React.createClass({
  render: function () {
    return (
      <div>
        Hello React!!
      </div>
    );
  }
});

ReactDOM.render(
  <HelloReact />,
  document.querySelector(".content")
);

#webpackをインストールする
webpackをyarnでインストールします。

webpackをグローバルにインストールしていない場合は、
npmでインストールします。

$ npm install -g webpack

プロジェクトディレクトリにwebpackをインストールします。

$ yarn add webpack --dev

#Babel環境の準備

##babel-loaderのインストール

以下のコマンドで、babel-loaderと、peerDependenciesとなっているbabel-coreをインストールします。

$ yarn add babel-loader babel-core --dev

##Babelのプリセットのインストール
babel-loaderでJSXのコンパイルが行えるようにするためにbabel-preset-reactをインストールします。

$ yarn add babel-preset-react --dev

ES2015の構文に対応できるように、babel-preset-es2015をインストールします。

$ yarn add babel-preset-es2015 --dev

##.babelrcファイルの設定
以下のように記述します。

.babelrc
{
  'presets': ['react', 'es2015']
}

#Reactをビルドする

##webpack.config.jsファイルの設定
以下のように記述します。

webpack.config.js
module.exports = {
  entry: './src/app.jsx',
  output: {
    path: './dist',
    filename: 'bundle.js'
  },
  devtool: 'inline-source-map',
  module: {
    loaders: [
      {
        test: /\.js(x?)$/,
        exclude: /node_modules/,
        loader: 'babel-loader'
      }
    ]
  }
};

##yarnコマンドへの登録

webpackコマンドを、package.jsonに以下のように記述します。
これでyarnコマンドでビルドできるようになります。

package.json
{
  ...
  "scripts": {
    "build": "webpack --progress"
  },
  ...
}

オプションとして––watchを追加すれば監視を行ってくれます。

#webpackの実行
登録した以下のコマンドで実行できます。

$ yarn run build

#コマンドまとめ
打ち込んだコマンドリストです。

mkdir プロジェクト名
cd プロジェクト名

yarn init
mkdir src dist
touch ./src/app.js
touch ./index.html
touch .babelrc
touch webpack.config.js
yarn add react react-dom
yarn add webpack --dev
yarn add babel-loader babel-core --dev
yarn add babel-preset-react --dev
yarn add babel-preset-es2015 --dev
12
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?