外部依存関係は、自分で実装できない、または実装したくないコードを含むライブラリです。 たとえば、外部サービスには公式のライブラリを使用したり、データ構造やアルゴリズムのカスタム実装を使用したりできます。
Atlas は依存関係を自動的に変換し、ほとんどの組み込みNode.jsモジュールもサポートします。
注意
独自のモジュールを作成
ほとんどのnpmモジュールはサードパーティによって記述されていますが、アプリケーション固有のロジックを格納するために独自のnpmモジュールを作成して公開することもできます。モジュールをNode.js Community で使用できるようにしたり、プライベート使用のために予約したりすることもできます。詳細については、 レジストリ へのパッケージの貢献に関する npm のガイドを参照してください。
外部パッケージを追加する
外部依存関係をインポートして使用するには、まずアプリケーションに依存関係を追加する必要があります。 名前を使用してパッケージを追加するか、依存関係のディレクトリをアップロードできます。
重要
既存の依存関係の上書き
アプリが使用できる外部パッケージを指定するには、一度に 1 つの方法のみを使用できます。 依存関係を指定するために使用した最新の方法は真実のソースであり、以前の指定を上書きします。
たとえば、UI を介して名前を追加したパッケージは、アップロードされた依存関係ディレクトリにあるパッケージを含め、以前に追加した同じパッケージのコピーを上書きします。
名前とバージョンでパッケージを追加
名前を使用してnpmレジストリからアプリにパッケージを追加できます。特定のバージョンを追加するか、最新バージョンを使用できます。
Atlas Atlasで、プロジェクトの {0 ページにGoします。GoTriggers
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Streaming Data見出しの下のTriggersをクリックします。
Triggersページが表示されます。
依存関係ディレクトリのアップロード
圧縮された 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ドキュメント を参照してください。
AtlasGoTriggersAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Streaming Data見出しの下の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); };