Derby.jsのHello World





Web開発の新しいトレンドに無関心でない場合は、 Angular vs Meteor vs Derbyの投稿に関するコメントの議論に参加することをお勧めします。 多くの興味深い考えがあります。



一方で、HabréでのDerby.jsの週は続きます。 Derbyプログラマーの人口は倍増しています。 そして今日は、ダチョウで実行して環境セットアップし、アプリケーションを作成し、起動してその構造を検討する方法を学びます。

これがすでに完了している場合は、基本的にはよくあるチュートリアルをご覧ください。 残りは猫の下で歓迎します。




環境



DebianファミリーのLinux(Ubuntu、Debianなど)を持っていると仮定します。 他のOS用の環境のセットアップ:他のLinux、Windows、Mac OSには独自の特性がありますが、根本的に違いはありません。

Derbyアプリケーションを実行するには、node.js、mongodb、redis(最小2.6)が必要です。



node.jsとredisでは、chris-leaリポジトリを使用します。mongoには公式のリポジトリがあります。



#   # node.js sudo add-apt-repository -y ppa:chris-lea/node.js # mongodb sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 sudo echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/10gen.list # redis sudo add-apt-repository -y ppa:chris-lea/redis-server #  apt-get sudo apt-get -y update #  sudo apt-get -y install nodejs sudo apt-get -y install mongodb-10gen sudo apt-get -y install redis-server
      
      







アプリ



もちろん、アプリケーションをゼロからフラッシュできるようになりました。 私たちは何を家を建てるべきですか?

ただし、Derbyには、アプリケーションレイアウトを生成して時間を節約するユーティリティがあります。 これを活用してみませんか?

これを行うには、npm derbyパッケージをグローバルにインストールする必要があります。



 sudo npm install -g derby
      
      







hello-derbyというアプリケーションを作成します(これはフォルダーの名前にもなります)。



 derby new hello-derby
      
      







このユーティリティは、アプリケーションを作成し、すべての依存関係をインストールします。 これには時間がかかり、最後に次のように表示されます。



  Project created! Try it out: $ cd hello-derby $ npm start More info at: http://derbyjs.com/
      
      







jsアプリケーションを検討しますが、Coffeescriptが必要な場合は、-coffee、-cを使用します。



 derby new --coffee my-cool-coffee-derby-app
      
      







空のアプリケーションを作成することもできます(レイアウトのみ):



 derby bare my-bare-app
      
      







または、アプリケーションを作成しますが、-noinstall、-nを使用して依存関係をインストールしないでください。



 derby new -n empty-node_modules-app
      
      







打ち上げ



実行するには、推測したとおり、次のものが必要です。



 cd hello-derby npm start
      
      







見る:



 1234 listening. Go to: http://localhost:3000/
      
      







ブラウザで、ここに移動します: http:// localhost:3000 /

やれやれ!



構造



プロジェクトの構造をすばやく見てみましょう。



/ lib-ほとんどすべてのjsがここにあります。 コーヒーを飲んでいる場合は、/ srcフォルダーがあります。

/ lib / appは、appと呼ばれるクライアントアプリケーションです。 そのようなアプリケーションはいくつかあります。 一般的に、これはサーバーで実行でき、クライアントにもロードできるものです。

/lib/app/index.js-アプリケーション自体がここに作成され、コンポーネント「derby-ui-boot」(これはderbyのブートストラップです)および「ui」(これらはカスタムコンポーネントです)が追加されます。 次に、サーバーとクライアントの両方で実行されるルートが作成されます。 最後に、コントローラーが作成されます-これらはクライアント上でのみ実行され、dom操作に関連付けられている関数です。

/ lib / serverはサーバーアプリケーションです。 存在できるのは1つだけです。 サーバー上でのみ実行され、クライアントから直接アクセスできないコードを次に示します。

/lib/server/error.js-ここでは、カスタムの静的エラーページを生成します(クライアントアプリケーションなし)。

/lib/server/index.js-express.jsアプリケーションがここで作成され、データベースがセットアップされ、ストアが作成され、接続モジュールがエクスプレスアプリに追加されます。一部はDerbyアプリケーションの一部です。 最後に、サーバー側のルートが作成され、以前に1つのルートが機能していなかった場合にエラーがスローされます。

/ node_modules-これはnpmパッケージです。

/スタイル-スタイルは次のとおりです。 デフォルトはStylysです。 クライアントアプリケーションごとに異なる場合があります(フォルダ名によって)。 UIでは、コンポーネントスタイル。

/ ui-ここにコンポーネントがあります。 各コンポーネントはjsファイルとhtmlファイルで構成され、独自の名前のフォルダーにあります。

/ ui / connectionAlertはコンポーネントの一例です。 クライアントがオフラインになった場合、このコンポーネントは対応する碑文と「再接続」ボタンを表示します。 再接続に失敗した場合、リロードアプリケーションの再起動を提案します。

/ui/index.js-コンポーネントの一般的な設定は次のとおりです。

/ views-htmlテンプレート。

/ views / app-クライアントアプリケーションアプリにロードされるテンプレートを示します。

/views/app/home.htmlは開始ページです。

/views/app/index.htmlは、home.htmlおよびlist.htmlのレイアウトです。

/views/app/list.html-シート。

/ views / error-/lib/server/error.jsからロードするエラーのテンプレートはこちら

.npmignore-npmでパッケージとしてアプリケーションを公開する場合、これが必要になります。

ProcfileはHeroku用です

README.md-読んでください

package.jsonはnpmの設定です。 すべての依存関係がここにリストされます。 また、npm startと入力した場合の対処方法。

server.jsは最も重要なファイルです。 アプリケーションのエントリポイント。 ここで、Derbyはエクスプレスアプリケーションを起動します。



Derby.jsによる資料



All Articles