概要
検証環境を作りたいので、ローカルにIonicをインストール。画面などはそんなに作らなくていいので、リクエストを投げられるようにしておこうと思った。
インストール
色々必要そうなのでそれらをまずは準備します。
Node.js
nodeが必要なのでまずはそちらのインストール。
一旦安定版でやってみる
$ nodebrew install-binary stable
$ nodebrew ls
v14.0.0
インストールされたやつを有効化
$ nodebrew use v14.0.0
use v14.0.0
$ nodebrew ls
v14.0.0
current: v14.0.0
パスを通して
$ echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bash_profile
$ source ~/.bash_profile
# macOS X 10.15 Catalinaからはzshがデフォルトになったので、zshでは以下になります。
$ echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.zprofile
$ source ~/.zprofile
確認
$ node -v
v14.0.0
無事Node.jsがインストールできました。
Ionicインストール
cordova-cliとionic-cliのインストール
Node.jsのnpm-cliを利用して、cordova-cliとionic-cliをインストールします。
今回はiOSを対象に解説していくため、ios-sim-cliもインストールしておきます。
$ sudo npm install -g cordova ionic
$ sudo npm install -g ios-sim
無事インストールできました。
アプリ作ってみる
諸々準備できたので、まずは作ってみましょう。
プロジェクト作成
デフォルトのテンプレートがいくつかあるみたいなのでお好きなのを使ってみてください。今回はtabs
ってやつを使ってみます。
$ ionic start myApp tabs
途中フレームワーク何にするか選ぶように言われるのでAngularにしました。
新しくディレクトリができているので移動します。
$ ls
myApp
$ cd myApp
プラットフォーム設定
今回はiosで
$ ionic platform add ios
確認
$ ionic serve
ブラウザが立ち上がって
無事成功です。
リクエスト
モジュール追加
app.module.tsにHttpClientModuleを追加します。
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { HttpClientModule } from '@angular/common/http'; //追加
@NgModule({
declarations: [AppComponent],
entryComponents: [],
imports: [
BrowserModule,
IonicModule.forRoot(),
AppRoutingModule,
HttpClientModule //追加
],
providers: [
StatusBar,
SplashScreen,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],
bootstrap: [AppComponent]
})
export class AppModule {}
Providerを作る
バージョンによってコマンドが変わるみたいなので注意です。
$ ionic g service service/send-requests
一旦ここまで