ローカル環境構築
1. ディレクトリ作成する
$ mkdir reactApp
$ cd reactApp
2. npm初期化
$ npm init -y
-y
で自動的にyesしてくれる (-f
--force
と同義)
3. Javascriptのビルド関連パッケージを入れる
$ npm i --save react react-dom
$ npm i -D babel-core babel-loader babel-preset-es2015 babel-preset-react
$ npm i -D webpack webpack-dev-server
面倒なのでまとめておりゃっと
dependenciesとdevdependenciesは分けてみた
4. babel設定
$ touch .babelrc
.babelrc
{
"presets": ["react", "es2015"]
}
5. webpack設定
$ touch webpack.config.js
webpack.config.js
module.exports = {
entry: './app.js',
output: {
path: __dirname + './dist',
filename: 'bundle.js'
},
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader'
}
]
}
}
ブラウザリロードタスクも設定追加
package.json
...
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack",
"start": "webpack-dev-server --hot --inline"
}
...
npm run build
でビルド
npm start
で自動リロードしてくれる
6. React実装
app.js
import React from 'react'
import ReactDOM from 'react-dom'
class App extends React.Component{
render(){
return(
<div>Hello World</div>
);
}
}
ReactDOM.render(<App />, document.getElementById("content"))
index.js
<html lang="jp">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>React Document</title>
</head>
<body>
<div id="content"></div>
<script src="./dist/bundle.js"></script>
</body>
</html>
<body />
以外はテキトーに
7. 実行
$ npm run build
$ npm start
正常にstartしたらブラウザでhttp://localhost:8080
で確認できる