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による資料