Nitrogenアプリの構築方法のため、アプリケーションをそれに緊密に結合して構築しないでください。むしろ、アプリケーションを構築し、窒素にAPIを提供します(窒素イベントなどから呼び出すAPI)。
次に、アプリをOTPファイルシステムとしてパッケージ化し、窒素のアプリフォルダーに配置します。窒素が生成または開始するとebin
、アプリディレクトリにある限りアプリのパスが追加されます。
例:モデルとコントローラーはアプリケーション内に実装されます。次に、アプリケーションで、窒素ページから直接呼び出す関数呼び出し(gen_serverの動作である可能性があります)を公開します。美しさは、これらすべてが同じコードパスにあることです。
何をすべきか:あなたquickstart.sh
はそれがerlangVMを開始するポイントで、窒素スクリプトを見ます。
echo "Inets(http:// localhost:8000)で窒素を開始しています..."
erl \
-YOUR_NODE_NAME_HEREに名前を付けます\
-pa ./ebin ../apps/*/ebin ../apps/*/include \
-env ERL_FULLSWEEP_AFTER 10 \
-eval "application:start(nprocreg)" \
-eval "application:start(quickstart)" \
-eval "application:start(YOUR_APPLICATION)"
アプリケーションがOTPに似ていない場合は、ビームファイルを配置する「ebin」というフォルダを作成します。「my_app-1.0」というフォルダを作成し、このebinフォルダをそのフォルダに貼り付けます。
窒素-|-/apps-|-/my_app-1.0-|-/ ebin
|-/ doc
|-/ rel
|-/サポート
|-/クイックスタート
ビームファイルへのフルパスは次のようになります
"$ NITROGEN / apps / my_app-1.0 / ebin"
。Nitrogenが起動するたびに、すべてのビームファイルがコードパスに追加されます。次に、コードに自分のものを開始する関数がある場合は、次のように言います
main_server:start()
。
quickstart.sh
見つかったものをこのように表示するように変更し
$NITROGEN/Quickstart/quickstart.sh
ます。
echo "Inets(http:// localhost:8000)で窒素を開始しています..."
erl \
-YOUR_NODE_NAME_HEREに名前を付けます\
-pa ./ebin ../apps/*/ebin ../apps/*/include \
-setcookie YOUR_FUNNY_COOKIE_HERE \
-mnesia dir'"PATH / TO / MNESIA / DIRECTORY"' \
-env ERL_FULLSWEEP_AFTER 10 \
-eval "application:start(nprocreg)" \
-eval "application:start(quickstart)" \
-eval "main_server:start()"
これの利点は、ビューをerlyweb、erlang webなどに変更した場合、モデルやコントローラーを変更する必要がなく、任意のビュータイプライブラリから呼び出すことができるAPIを公開することです。