Functionノードを使う(その5)

前回まででFunctionノードのサンプルをひと通り見て満足していたのですが、そういえば、1箇所だけ触っていない設定があったことを思い出しました。設定プロパティの「モジュール」です。


Functionノードのドキュメントによると、functionExternalModulesオプションを使うとsettings.js上でいちいちrequire()しなくても外部モジュールが使えるとのこと。settings.jsを確認したところデフォルトで有効化されていました。それを先に言えよ。
    /** Allow the Function node to load additional npm modules directly */
    functionExternalModules: true,

というわけで、早速動作確認します。その3の記事で使ったaxiosで試してみます。前提条件として「npm install axios」コマンドでaxiosをインストールしておきます。続いて設定タブでモジュールにaxiosを追加します。


この設定は「const axios = require("axios")」みたいなことをやってくれているということなのだと思います。続いて、コードタブに以下のように書きます。いきなりaxios.get()を呼び出せるのがポイントです。


フローを実行するとresponseが出力されます。

まとめ

今回利用した方法だと特定のFunctionノードでのみ外部モジュールが利用可能になりますが、その3の記事で確認したsettings.jsファイルのfunctionGlobalContextでrequire()する方法だと全Functionノードで外部モジュールが利用可能になるということなのでしょう。状況によって使い分けすれば良さそうです。Functionノードについてはこんなもんですかね。

 





コメント

このブログの人気の投稿

Execノードを使う

Joinノードを使う(その4)

SendGridのX-SMTPAPIヘッダの使い方(Section Tags、Substitution Tags編)