はじめに
最初に、アプリケーションのブートストラップをサポートするコマンドラインインターフェース(CLI)をインストールします。
$ npm install -g @c8y/cli
次に、new
コマンドで新しい空のアプリケーションをブートストラップします。
$ c8ycli new myapp
いくつか質問されます
- base version: ターゲット環境のバックエンドのバージョンに対応するものを選択します。
- base project: “application"を選択します。
c8ycli new <<your-app-name>> tutorial
かプロンプトでベースプロジェクトとして “tutorial “を選択し、実行することでインストールできます。CLIのインストールが完了したら、新しく作成したフォルダに移動して、npm install
を実行します。
$ cd myapp
$ npm install
すべてのパッケージがインストールされた後、以下を実行することでアプリケーションを起動できます。
$ npm start
ブラウザでhttp://localhost:9000/apps/myapp/にアクセスすると、startスクリプトで定義したテナントにプロキシするログイン画面を表示します。ログインできない場合は、指定しているインスタンスが誤っている可能性があります。テナントURLへのプロキシを変更するには、新しく作成されたpackage.jsonの script セクションにある start
スクリプトを変更してください。
{
"start": "c8ycli server -u http://your-tenant.my-provider.com"
}
ログインすると、ほとんど空のスターターアプリケーションが確認できるでしょう。より複雑な例に取り組みたい場合、@c8y/appsについてのドキュメントをご覧ください。アプリケーションをビルドしてデプロイしたい場合、デプロイしたい場合 の必要なコマンドの詳細をご覧ください。
最初のルートとコンポーネント
空のブートストラップ アプリケーションを作成後、コンテンツを作成しましょう。まず、プロジェクトに新しいコンポーネントを追加し hello.component.tsという名前で保存します。
import { Component } from '@angular/core';
@Component({
selector: 'app-hello',
template: `
<c8y-title>Hello World</c8y-title>
<p>My first content.</p>
`
})
export class HelloComponent {
constructor() {}
}
新しいコンポーネントをアプリケーションにフックするには、新しいコンポーネントを宣言して app.module.ts 内のルートに追加する必要があります。
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { RouterModule as ngRouterModule } from '@angular/router';
import { CoreModule, BootstrapComponent, RouterModule } from '@c8y/ngx-components';
import { HelloComponent } from './hello.component' // don't forget to import the new component
@NgModule({
imports: [
BrowserAnimationsModule,
RouterModule.forRoot(),
ngRouterModule.forRoot(
[{ path: '', component: HelloComponent }], // hook the route here
{ enableTracing: false, useHash: true }
),
CoreModule.forRoot()
],
declarations: [HelloComponent], // add deceleration here
bootstrap: [BootstrapComponent]
})
export class AppModule {}
このアプリケーションを起動してログインすると、以下のスクリーンショットと似たアプリケーション画面が現れます。このアプリケーションを拡張するには、Angular Router と @c8y/ngx-components を組み合わせて使用することができます。