N@i.jp  昨日:2511
 今日:2177
 総計:01428312
keywords
管理者専用
  Post   Add link   Control Panel 






























新しいトピック
最新:07/20 18:08


新しいコメント
最新:06/04 19:41





Alexaの緊急連絡スキルを作る(2)

"nodemailer"パッケージを追加します


4. Node.jsを自分のマシンにインストールする

 "nodemailer"パッケージを追加すると言っても、単にインターネット上で"nodemailer"を検索してダウンロードし、解凍した物をフォルダーに放り込むなどと言うお手軽な方法ではありません。先ず、自分のマシンに Node.js をインストールする必要があります。

 Node.js はNode.jsの公式ホームページ から自分のマシンに合ったものをダウンロードします。バージョンは、AWSの Node.js が 6.10 ですから、それ以降のものであれば大丈夫だと思います。また最新版でなくても現在の推奨版で充分で、どうしてもAWSのバージョンに合わせたければ、「ダウンロード」から"All download options"を辿って Node.js v6.10.3などを入手しても良いでしょう。

 Node.jsのインストーラをダウンロードしたら、自分のマシンにインストールします。ここではmacOS用のNode.js v8.9.4インストーラpkgをダウンロードして、インストールしています。インストールは普通のインストーラと同じで、単にボタンをクリックして行くだけですから、特に操作に迷うことはないと思います。

5. "MyEmergency"関数に"nodemailer"パッケージを追加する

 Node.jsでパッケージを追加するには、ターミナルでnpmコマンドを使用して行います。npmは、Node.jsのパッケージ管理の仕組みで、パッケージの導入(インストール)の際、依存関係があるパッケージを自動的にインストールしてくれたり、インストール済みのパッケージの更新などの支援をしてくれます。Linuxにおけるrpm、yum、aptなどのNode.js版と思えば良いでしょう。
 パッケージの追加には、Node.jsシステムに組み込む方法(グローバルインストール)と、作成中のアプリケーションの"node_modules"配下に追加する方法(ローカルインストール)があります。今回は"MyEmergency"関数に"nodemailer"パッケージをローカルインストールします。

$ cd ~/work/MyEmergency
$ ls -l
total 24
-rw-rw-r--  1 nai  staff  7724  2 11 01:51 index.js
drwxrwxr-x  6 nai  staff   192  7  5  2017 node_modules
-rw-rw-r--@ 1 nai  staff   139  7  5  2017 package.json

$ npm --save install nodemailer
npm notice created a lockfile as package-lock.json. You should commit this file.
+ nodemailer@4.4.2
added 16 packages in 9.623s

 「3. Lambda関数をダウンロードする」でダウンロードした"MyEmergency"関数を置いたディレクトリに移動して"nodemailer"パッケージを(--saveオプションを指定して)ローカルインストールしています。この時、依存関係があるパッケージも一緒にインストールされるため、インストール後の"node_modules"ディレクトリは以下のような状態になりました。

 しかし、AWSのNode.jsに既に組み込まれている物ばかりですので、最初から"node_modules"ディレクトリに入っていたパッケージと"nodemailer"パッケージを残して、他は削除してしまって構わないようです。また"package-lock.json"ファイルも無くても大丈夫なようです。と言うことで、以下のような状態にします。

$ ls -l
total 24
-rw-rw-r--  1 nai  staff  7724  2 11 01:51 index.js
drwxrwxr-x  8 nai  staff   256  2 11 14:35 node_modules
-rw-rw-r--@ 1 nai  staff   167  2 11 14:28 package.json
$ ls -l node_modules
total 0
drwxrwxr-x  10 nai  staff  320  2 11 10:57 alexa-sdk
drwxrwxr-x  15 nai  staff  480  2 11 10:57 i18next
drwxrwxr-x  11 nai  staff  352  2 11 10:57 i18next-sprintf-postprocessor
drwxr-xr-x   8 nai  staff  256  2 11 14:28 nodemailer
[続く]

 Node.jsのインストールなんて面倒臭い?自分のマシンに余計なものをインストールしたくないって?そんな方は、以下からMyEmergency関数(zipファイル)をダウンロードして、それをデプロイ(アップロード)することができるようにしておきました。

MyEmergency.zip

 もし、ダウンロードの際にzipファイルが解凍されてしまった場合は、Alexaの緊急連絡スキルを作る(4)を参照し、zipファイルを作成し直してアップロードしてください。


< 過去の記事 [ 7月の 全てのカテゴリ リスト ] 新しい記事 >

2018 calendar
7月
1234567
891011121314
15161718192021
22232425262728
293031


掲示板
最新:08/15 17:19



管理人へMAIL

GsBlog was developed by GUSTAV, Copyright(C) 2003, Web Application Factory All Rights Reserved.