at_ito
2019年8月5日 6時22分
ArmadilloのGUIはブラウザで実現することも可能になってきています。 昨今のWebアプリケーションでは、ページ遷移のないシングルページアプリケーション(SPA)への需要が増えてきているというトレンドがあります。
SPAを実現するライブラリとしてReactというものがあるようなので、 Armadillo上でReactを使ってHello Worldを試してみます。
1. 環境
- 製品: Armadillo-640
- nodeバージョン: 10.16.1 , npmバージョン: 6.9.0
- 使用したnodeパッケージバージョン
- react@16.8.6
- react-dom@16.8.6
- webpack@4.39.1
- webpack-dev-server@3.7.2
- webpack-cli@3.3.6
- babel-loader@8.0.6
- @babel/core@7.5.5
- @babel/preset-env@7.5.5
- @babel/preset-react@7.0.0
2. ワーキングディレクトリの作成
[armadillo ~]# mkdir -p ~/work/react-server [armadillo ~]# cd ~/work/react-server [armadillo ~/work/react-server]# npm init -y
3. 必要なパッケージをインストール
[armadillo ~/work/react-server]# npm i -S react react-dom [armadillo ~/work/react-server]# npm i -D webpack webpack-cli webpack-dev-server [armadillo ~/work/react-server]# npm i -D babel-loader @babel/core @babel/preset-env @babel/preset-react
4. 設定と、ソースコードの作成
以下のコマンドを実行し、srcディレクトリと、publicディレクトリを作成してください。
[armadillo ~/work/react-server]# mkdir src public
src/index.jsxというファイルを作成し、以下のように編集してください。
import React from 'react'; import ReactDOM from 'react-dom'; ReactDOM.render(<div>Hello World</div>, document.getElementById("root"));
index.htmlというファイルを作成し、以下のように編集してください。
<!DOCTYPE html> <html lang="js"> <head> <meta charset="UTF-8"> <title>react-sample</title> </head> <body> <div id="root"></div> <script src="./public/bundle.js"></script> </body> </html>
webpack.config.jsというファイルを作成し、以下のように編集してください。
const path = require('path'); module.exports = { entry: './src/index.jsx', output: { path: path.resolve(__dirname, 'public'), filename: 'bundle.js' }, module: { rules: [ { test: /\.jsx$/, exclude: /node_modules/, loader: "babel-loader", query: { presets: ['@babel/env', '@babel/react'] } } ] }, resolve: { extensions: ['.js', '.jsx'] }, devServer: { contentBase: path.join(__dirname, '/'), historyApiFallback: true, port: 3000 }, };
5. 動作確認
Armadillo上で以下のコマンドを実行してください。
[armadillo ~/work/react-server]# ./node_modules/.bin/webpack --mode development [armadillo ~/work/react-server]# ./node_modules/.bin/webpack-dev-server --mode development --host --inline --open
上記コマンドを実行した後、有線LAN等で接続されているPCからブラウザのURL欄に「http://[armadilloのIPアドレス]:3000/」と入力すると、画面にHello Worldが表示されます。