Skip to the content.

AMR-IF-UI: デプロイ

1. デプロイメント

AMR-IF-UI は、Angularフレームワークで構築されており、 AOT (Ahead-of-time) コンパイラで事前にトランスパイル (ビルドする) することで、 ブラウザでのロード速度を向上させることができる事ができ、 nodejs/npm 等がインストールされていないWebサーバ上へデプロイ(配置)することができます。 (ただし、AMR-IF-UI自体は ROS/Robot Web Tools に依存していますので、 必要なパッケージは別途インストールする必要があります。)

1.1. ビルド

AMR-IF-UI のプロジェクトルートディレクトリで ng build コマンドを入力します。

$ ls
LICENSE			README.md		browserslist		img			
ngsw-config.json	package-lock.json	src			tsconfig.json
tslint.json LICENSE_HEADER		angular.json		karma.conf.js
package.json		tsconfig.app.json	tsconfig.spec.json
$ ng build
Compiling @angular/cdk/keycodes : es2015 as esm2015
Compiling @angular/animations : es2015 as esm2015
  : 
  中略
  :
chunk {vendor} vendor-es5.js, vendor-es5.js.map (vendor) 7.42 MB [initial] [rendered]
Date: 2021-09-23T14:35:03.634Z - Hash: 36137cafdae0110f8877 - Time: 101231ms

dist/AMR-IF-UI というディレクトリが作成されており、 その中にデプロイ可能なパッケージが生成されています。

$ cd dist/AMR-IF-UI/
$ ls
assets			main-es2015.js		main-es5.js		manifest.webmanifest
 : 
styles-es2015.js	styles-es5.js		vendor-es2015.js	vendor-es5.js
$

このディレクトリ内のファイルをHTTPサーバの公開可能なディレクトリへコピーすることで、 このプロジェクトを公開可能です。

仮に、いま “/var/www/data” が空であり、 apache の Document Root であると仮定すると

$ sudo cp * /var/www/data/

apacheが動作していれば、http://localhost にアクセスすると以下の画面が表示されます。

1.2. ベースURLの変更

Webサーバのドキュメントルートで公開するのではなく、 場合によっては特定の階層下のURLで公開したいことがあります。

その場合は、build するときに、–base-href= オプションを使用して 公開する階層のパスを指定します。

$ cd <project root>
$ ng build --base-href=/AMR-IF-UI/
$ cd dist
$ sudo cp -r AMR-IF-UI /var/www/data/

こうすると、AMR-IF-UI を http://localhost/AMR-IF-UI/ でアクセスすることができます。