NativeScriptプラグインは、いくつかのネイティブ機能が追加されたnpmパッケージです。 したがって、NativeScriptプラグインの検索・インストール・削除は、Node.jsやフロントエンドWeb開発で使用する可能性のあるnpmパッケージを扱うのとよく似ています。
NativeScriptチームは、公式マーケットプレイスを管理しています。 このマーケットプレイスには、npmからのNativeScript関連プラグインのリストがフィルタリングされて表示されます。 市場に掲載されているすべてのプラグインには、品質を説明するメタデータが付属しています。 例えばマーケットプレイスで「accelerometer」を検索すると、必要なプラグインが表示されます。
あるいは、NativeScriptプラグインはnpmパッケージなので、npmのサイトで「nativescript-plugin-name」を検索してNativeScriptプラグインを見つけることもできます。 たとえば、「nativescript accelerometer」を検索すると、NativeScript加速度計プラグインがすぐに見つかるでしょう。
プラグインが見つからない場合は、Stack Overflow(英語)で助けを求めてみてください。 NativeScriptチームとコミュニティはあなたが探しているものを見つける手助けをすることができるかもしれません。
また、すべてのNativeScriptアプリの依存関係として配布されているNativeScriptコアモジュールをよく見てください。 必要な機能が既に組み込まれている可能性があります。 それでも必要なものが見つからない場合は、NativeScriptコミュニティフォーラムでアイデアとしてプラグインをリクエストするか、 自分でプラグインを構築することができます。
必要なプラグインが見つかったら、tns plugin addコマンドを使用してプラグインをアプリにインストールします。
tns plugin add <plugin-name>
たとえば、次のコマンドはNativeScriptカメラプラグインをインストールします。
tns plugin add nativescript-camera
もし望むなら、NativeScript CLIコマンドplugin addの代わりにNPMコマンドnpm installを使用することもできます。
npm i nativescript-camera --save
NativeScriptプラグインのインストールは、npmパッケージのインストールに似ています。 NativeScript CLIは、npmからプラグインをダウンロードし、プロジェクトのルートにあるnode_modulesフォルダにそのプラグインを追加します。 この中で、NativeScript CLIはプロジェクトルートのpackage.jsonファイルにプラグインを追加し、プラグインの依存関係(もしあれば)も解決します。
上記のように、コマンドtns plugin addは実際にはnpm i --saveを実行しています。 プロジェクトに開発時依存関係をインストールする必要がある場合(たとえば、tns-platform-declarationsやnativescript-dev-webpackなど)、 明示的にdevDependencyとして保存する必要があります。 これを実現するには、npm installコマンドに--save-devフラグを付けて使用します。
例:
npm i tns-platform-declarations --save-dev
必要なプラグインがインストールされたら、プロジェクトで使い始めることができます。 それぞれのプラグインは、必須の設定を持つ場合がありますので、常にプラグインのドキュメントとREADMEファイルを注意深くチェックしてください。 以下のコードスニペットは、nativescript-cameraプラグインの基本的な使い方を示しています。
const camera = require("nativescript-camera"); // Requiring the plugin module
camera.requestPermissions();
// Or import only a specific class/method/property of the plugin
const requestPermissions = require("nativescript-camera").requestPermissions; // Requiring the needed code
requestPermissions();
import * as camera from "nativescript-camera"; // Requiring the plugin module
camera.requestPermissions();
// or import only a specific class/method/property of the plugin
import { requestPermissions } from "nativescript-camera"; // Requiring only the needed code
requestPermissions();
プロジェクトからNativeScriptプラグインを削除するには、コマンドラインから次のコマンドを実行します。
tns plugin remove <plugin-name>
たとえば、次のコマンドはNativeScriptカメラプラグインを削除します。
tns plugin remove nativescript-camera
インストールと同様に、NativeScriptプラグインの削除はnpmパッケージの削除に似ています。
NativeScript CLIは、プロジェクトのルートにあるアプリのnode_modulesフォルダーからすべてのプラグインファイルを削除します。 CLIはプラグインの依存関係も削除し、プロジェクトルートのpackage.jsonファイルからもプラグインを削除します。