一般的な質問
StrongLoop は以下のオペレーティングシステムをサポートしています。
- Red Hat Enterprise Linux (RHEL)/CentOS 6.3 (RPM)
- IBM z systems 上の RHEL 6 と RHEL 7
- Debian/Ubuntu 12.10 (DEB)
- IBM z systems 上の SUSE Linux Enterprise Server 11・12 (Node 0.12.7 と 4.2.2 を使用)
- Mac OS X Mountain Lion 10.8 (PKG)
- Microsoft Windows 8, 2008 (MSI) 注意: Cygwinの使用はNodeがサポートしません。代わりに、コマンドラインツールはWindowsのコマンドプロンプトを使用してください。
LoopBackは無料ですか?いくらかかりますか?
LoopBack は無料で利用できる(サポート除く)オープンソースプロジェクトです。また、完全なサポートが付いた商用バージョンは、 IBM API Connect の一部として利用可能です。
開発者フォーラムやメーリングリストはありますか?
はい!LoopBack Google Group は、開発者が質問したり、 LoopBackをどのように使うかを議論するための場所です。ぜひ参加してください。
LoopBack Gitter channel はLoopBackの主要な開発者とリアルタイムに議論できます。
StrongLoop はまたLoopBackに関する話題のブログを公開しています。 最新の投稿リストは Blog posts を参照してください。
LoopBack向けのクライアントSDK はありますか?
LoopBackは、フレームワークによって生成されたREST APIサービスにアクセスするためのクライアントSDKを3つ持っています。
- iPhoneとiPadアプリ用のiOS SDK (Objective-C)。詳細は iOS SDK を参照。
- Androidアプリ用の Android SDK (Java)。詳細は Android SDK を参照。
- HTML5 フロントエンド用の AngularJS (JavaScript)。詳細は AngularJS JavaScript SDK を参照。
LoopBack にはどんなデータコネクタがありますか?
LoopBack は、企業やその他のバックエンドデータシステムにアクセスするためのコネクタをいくつも提供しています。
データベースコネクタ:
- Cloudant コネクタ
- DashDB
- DB2 コネクタ
- DB2 for z/OS
- Informix
- Memory コネクタ
- MongoDB コネクタ
- MySQL コネクタ
- Oracle コネクタ
- PostgreSQL コネクタ
- Redis コネクタ
- SQL Server コネクタ
- SQLite3
その他のコネクタ:
加えて、LoopBackのオープンソースコミュニティの開発者によって作られた コミュニティコネクタ があります。
curl が私のLoopBackアプリへのリクエストに失敗するのはなぜですか?
If the URL loads fine in a browser, but when you make a curl
request to your app you get the error:
curl: (7) Failed to connect to localhost port 3000: Connection refused
The cause is likely to be because of incompatible IP versions between your app and curl
.
Note:
On Mac OS 10.10 (Yosemite), curl
uses IP v6 by default.
LoopBack, by default uses IP v4, and curl
might be using IP v6.
If you see IP v6 entries in your hosts file (::1 localhost, fe80::1%lo0 localhost), it is likely that curl
is making requests using IP v6.
To make request using IP v4, specify the --ipv4
option in your curl request as shown below.
$ curl http://localhost:3000 --ipv4
You can make your LoopBack app use IP v6 by specifying an IP v6 address as shown below:
app.start = function() {
// start the web server
return app.listen(3000, '::1',function() {
app.emit('started');
console.log('Web server listening at: %s', app.get('url'));
});
};
Tip:
If you are trying query filters with curl, use the -g
or --globoff
option to use brackets [
and ]
in request URLs.
突っ込んだ質問
LoopBackを使って作業し始めると、より突っ込んだ質問が出てくるでしょう。 いくつかの最も一般的なものがここに集められ、さらに簡単な回答とドキュメントへのリンクがあります。
リモートサーバーへのGETリクエストはどうやって実行するのですか?
第一に、REST コネクタ を使用するデータソースを設定しなければなりません。
データソースの設定を書くdatasources.json ファイルの中で、
REST APIに対する操作を operations
プロパティで定義できます。
短いサンプルは loopback-example-rest-connector を参照してください。
アプリケーションに、JSONの代わりにXMLで応答させることができますか?
はい。server/config.json
において、remoting.rest.xml
プロパティを true
にセットします。
詳細は config.json を参照してください。
アプリケーションからメールを送信するには?
簡単に書くとこうなります。
- email コネクタを使用するデータソースを設定する。
- 組み込みの
Email
モデルを emailデータソースに紐付けます。 - 設定したモデルの
Email.send()
を使ってメールを送信します。
短い例は loopback-example-app-logic を参照してください。
static ミドルウェアの使い方は?
static ミドルウェアで、アプリケーションが、HTML・CSS・画像・クライアント用JavaScriptファイルなどの静的なコンテンツを提供できるようになります。 追加するには、以下のようにします。
middleware.json
ファイルの中の既定のroutes
プロパティの内容を削除します。-
middleware.json
ファイルに、プロジェクトの/client
ディレクトリの静的コンテンツを提供するために、 以下の"files"
プロパティを追加します。"loopback#static": { "params": "$!../client" }
もちろん、異なるディレクトリの静的コンテンツを使うために、値を変更することもできます。
詳細は、ミドルウェアの定義 を参照してください。 短い例は loopback-example-middleware を参照してください。
モデルがサポートしているフックの種類は何ですか?
LoopBackのモデルがサポートしているのは、
LoopBack は JavaScript 設定ファイルをサポートしますか(JSONだけでなく)?
はい。LoopBack は既定の .json
ファイルを .js
ファイルで 上書き することができます。
詳細は、環境固有の設定のページを参照してください。
ユーザ管理の質問
詳細は、ユーザ管理および loopback-example-user-management の関連するコードの例を参照してください。
注:
- You must configure LoopBack to send email for email-related features.
- メールを送信するようにLoopBackを設定 しなければなりません。
- Gmailを使用する場合、単にあなたの資格情報でユーザ名とパスワードを置き換えてください。
新ユーザを登録するには?
注:
- 実行時、
user.verify
は、与えられた オプション を使ってメールを送信します。 - この例では、確認のメールは、
ユーザを
/verified ルート
にリダイレクトする ように設定されています。自分のアプリケーションでは、必要に応じて設定を変更してください。 - The options are self-explanatory except
type
,template
anduser.
- オプション の名前は、
type
・template
・user
を除けば、名前で意味がわかると思います。type
-email
という値でなければいけません。template
- 確認のメールに使用するテンプレートのパスです。user
- 指定された場合、このオブジェクトの中の情報がメール内の確認用リンクに使われます。
新ユーザ登録のために確認のメールを送るには?
前の質問の step 2 を見てください。
ユーザがログインできるようにするには?
- ログイン資格情報を受け付けるフォーム を作成する。
- ログイン要求を処理するルート を作成する。
ユーザがログアウトできるようにするには?
- Create a logout link with the access token embedded into the URL.
- URL中にアクセストークンを埋め込んだログアウトリンク を作成する。
- アクセストークンとともに
User.logout
を呼び出す。
注:
- アクセストークンの処理には、token ミドルウェアを使用します。
URLのクエリ文字列に
access_token
を提供する限り、ルートハンドラのreq.accessToken
プロパティでアクセストークンオブジェクトが提供されます。
登録済みユーザがパスワードをリセットできるようにするには?
- パスワードリセット情報を集めるフォームを作成する。
- パスワードリセット要求を処理するエンドポイントを作成する。
最終的には、
User.resetPassword
を呼出して、resetPasswordRequest
イベントを発生させ、一時的なアクセストークンを作成する。 resetPasswordRequest
のイベントハンドラを登録し、登録済みユーザにメールを送るようにする。 例では、ユーザを 一時的なアクセストークンで認証されたパスワードリセットページ に誘導する URL を提供している。- ユーザが新しいパスワードを入力し確認する パスワードリセットフォーム を作成する。
- パスワードのリセットを処理するエンドポイント を作成する。
注:resetPasswordRequest
ハンドラのコールバックでは、
info
オブジェクトが提供されます。
これには、パスワードリセットを要求しているユーザに関する情報が含まれています。
注:bodyParser
と loopback.token()
を使用するように設定するのを忘れないでください。
server.js に例があります。