外部依存関係
項目一覧
外部依存関係は、自分で実装できない、または実装したくないコードを含むライブラリです。 たとえば、外部サービスには公式のライブラリを使用したり、データ構造やアルゴリズムのカスタム実装を使用したりできます。
Atlas は依存関係を自動的に変換し、ほとんどの組み込みNode.jsモジュールもサポートします。
注意
独自のモジュールを作成
ほとんどの npm モジュールはサードパーティによって記述されていますが、アプリケーション固有のロジックを格納するために、独自の npm モジュールを作成して公開することもできます。 モジュールを Node.js Community で使用できるようにしたり、プライベート使用のために予約したりすることもできます。 詳細については、 のレジストリへのパッケージの貢献 に関する npm のガイドをご覧ください。 。
外部パッケージを追加する
外部依存関係をインポートして使用するには、まずアプリケーションに依存関係を追加する必要があります。 名前を使用してパッケージを追加するか、依存関係のディレクトリをアップロードできます。
重要
既存の依存関係の上書き
アプリが使用できる外部パッケージを指定するには、一度に 1 つの方法のみを使用できます。 依存関係を指定するために使用した最新の方法は真実のソースであり、以前の指定を上書きします。
たとえば、UI を介して名前を追加したパッケージは、アップロードされた依存関係ディレクトリにあるパッケージを含め、以前に追加した同じパッケージのコピーを上書きします。
名前とバージョンでパッケージを追加
npm レジストリ からパッケージを追加できます アプリの名前を使用して特定のバージョンを追加するか、最新バージョンを使用できます。
Atlas UIでの依存関係への移動
Triggersページに移動する
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Services見出しの下のTriggersをクリックします。
Triggersページが表示されます。
依存関係を追加する trigger を選択します。
Edit Trigger ページで、Function セクションにGoし、Add Dependency をクリックします。
依存関係ディレクトリのアップロード
圧縮された node_modules
ディレクトリのパッケージをアプリにアップロードできます。 圧縮された依存関係ディレクトリは 15 MB を超えることはできません。
重要
既存の依存関係の上書き
アーカイブをインポートすると、既存の依存関係がすべて削除されます。
外部依存関係をローカルにインストール
外部依存関係をアップロードするには、まず少なくとも 1 つの Node.js パッケージを含むローカルnode_modules
フォルダーが必要です。 次のコード スニペットを使用して、アップロードする依存関係をローカルにインストールできます。
npm install <package name>
node_modules
フォルダがまだ存在しない場合、このコマンドはそれを自動的に作成します。
注意
インストールの代替方法
また、 package.json
を構成し、 npm install
コマンドを実行して、 package.json
にリストされているすべてのパッケージ(およびその依存関係)をインストールすることもできます。
npm とnode_modules
の詳細については、 npm ドキュメント を参照してください 。
依存関係アーカイブのアップロード
依存関係を含むアーカイブを作成したら、Atlas UIを使用して依存関係アーカイブをアップロードできます。
Triggersページに移動します
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Services見出しの下のTriggersをクリックします。
Triggersページが表示されます。
Dependencies タブを選択します。
[Upload Folder] をクリックします。
[] モーダルで、[
node_modules.tar.gz
Upload Folder ] をクリックし、作成した [] アーカイブを選択します。[ Addをクリックします。 Atlas は アーカイブファイルをアップロードします。これには、インターネット接続の速度と依存関係アーカイブのサイズによっては、数分かかる場合があります。
Atlas は、操作の成功または失敗を示すバナーを表示します。 成功した場合、 Dependenciesタブには依存関係アーカイブに含めた依存関係のリストが表示されます。
配置案が有効になっている場合は、これらの変更を適用するためにReview & Deployもクリックする必要があります。
配置案が無効になっている場合、依存関係アーカイブのサイズに応じて、 5から60秒以内に変更が有効になります。
関数内のパッケージをインポートする
アプリに追加した組み込みモジュールと外部パッケージをインポートし、関数で使用できます。 パッケージをインポートするには、関数本体内からパッケージ名を指定してrequire()
を呼び出します。
重要
モジュールをインポートするには
Node.jsプロジェクトは通常、各ファイルのグローバル スコープにrequire()
呼び出しを配置しますが、Atlas はこのパターンをサポートしていません。 関数のスコープ内でrequire()
呼び出しを配置する必要があります。
完全なモジュールをインポート
exports = () => { const R = require("ramda"); return R.map(x => x*2, [1,2,3]); }
モジュール サブフォルダーのインポート
exports = function(arg){ const cloneDeep = require("lodash/cloneDeep"); var original = { name: "Deep" }; var copy = cloneDeep(original); copy.name = "John"; console.log(`original: ${original.name}`); console.log(`copy: ${copy.name}`); return (original != copy); };