元の記事を参照してください-http://bjbsair.com/2020-03-22/tech-info/2815/は、
ファイル作成のNode.jsモジュールは、httpサーバーおよび静的なウェブサイトの目の前で導入。基礎として、この知識により、我々は、Web Node.jsのフレームワークを見つけることができます。
Javaのウェブフレームワークの友人からのすべての方法は、かなりヘビー級感じるかもしれ来て、オリジナルのStrutsと後で春のように、Apacheの中間組織はまた、いずれかの使用や学習から、一般的には、いくつかの他のテンプレートフレームワークを持っていた懸念している、それがありますそれはより多くの時間がかかります。大規模なアプリケーションの場合、投資はそれだけの価値があります。あなたは短時間で小規模なWebアプリケーションを開発する必要がある場合、それは疑問です。
幸いなことに、Node.jsのの出現で、軽量エクスプレス、柔軟なWebフレームワークのようにあった、中小速Webアプリケーションの開発が急速に改善しています。
express.js
Node.jsのWebフレームワーク
Javaの世界は、春には絶対的な優位性で現在使用されています。しかし、他の言語ではない同じことが、関係なく、Node.jsのやPythonの、いくつかのWebアプリケーションフレームワークがあります。そのトップ10のNode.jsのWebフレームワークの名前さえ特定のNode.js、Webフレームワークより、業界やで。しかし、慌てる必要はありません、Node.jsのWebフレームワークの多くは、Expressに基づいて開発され、同じまま。私はNode.jsの一連のnode.js.表示される理由はここにあります 開発者の束が後で、後で私は特別な導入興亜を書きますか前に、最近のホットなフレームワークには、エクスプレスKOA。
多くは、Node.jsのフレームワークは、エクスプレスに基づいているため、導入Expressは、最初に、もう一つの理由は、非常に軽量Expressをある理由は、数時間以内に短縮することができCRUD時間を行うに来て、すぐに始めます。それは何年か前のことを思い出す、私はCRUDは、別のWebサーバー上でのデバッグ、サーバの設定を含め2日間、約かかったんJavaの青写真のEJBを使用しています。しかし、HTTPサーバーとアプリケーションサーバーは、Node.jsのコードを持つプログラマ自身であるため、これらを必要としないが書かれているのNode.js。別のレベルでは、実際の大規模なエンタープライズアプリケーションは、私が個人的にnode.js.をお勧めしません。小型、軽量のアプリケーションは、Node.jsのが好ましいです。
エクスプレスJS
GitHubの上で今最もNode.jsの枠組みでダウンロードされ47.7k星を、収穫。Node.jsのは、私はExpressをWebフレームワークの幽霊をされて使用する前にシステムを導入しましたブログ。
静的なウェブサイトは、エクスプレスを通じてサービスを提供するルーティング、ミドルウェア、およびテンプレートエンジンと組み合わせて使用することができます。
エクスプレスJSのインストールと操作
NPMがインストール。
- 安装表現「NPMは急行--saveをインストールします」
D:\Projects\nodejs\NodeDemo\forms>npm install express --save
npm WARN [email protected] No description
npm WARN [email protected] No repository field.
+ [email protected]
added 50 packages from 37 contributors and audited 127 packages in 11.149s
found 0 vulnerabilities
- 最初のステップを完了した後、インストールはローカルで行われている表現。しかし、作成反応するアプリのようなフレームワークを作成する方法がなかったです。幸いにも、急行があるプログラムジェネレータ、表現・ジェネレータを。インストールするには、「エクスプレス・ジェネレータ-gをインストールNPM」コマンド。
D:\Projects\nodejs\NodeDemo\forms>npm install -g express-generator
D:\Program Files\nodejs\node_global\express -> D:\Program Files\nodejs\node_global\node_modules\express-generator\bin\express-cli.js
+ [email protected]
added 10 packages from 13 contributors in 6.346s
- プロジェクトを実行ファイルを作成するコマンドを「表現」
我々が完了しているので、フォームを使用すると、ディレクトリ内のプロジェクトファイルとサブディレクトリを作成できるように表現する直接実行、ディレクトリを投射します。プロジェクトは、ディレクトリ番号を作成しなかった場合は、「表現」を実行することができます。このコマンドは、自動的にディレクトリを作成し、そのディレクトリ内の関連サブディレクトリとファイルが作成されます。
D:\Projects\nodejs\NodeDemo\forms>express
warning: the default view engine will not be jade in future releases
warning: use `--view=jade' or `--help' for additional options
destination is not empty, continue? [y/N] y
create : public\
create : public\javascripts\
create : public\images\
create : public\stylesheets\
create : public\stylesheets\style.css
create : routes\
create : routes\index.js
create : routes\\users.js
create : views\
create : views\error.jade
create : views\index.jade
create : views\layout.jade
create : app.js
create : package.json
create : bin\
create : bin\www
install dependencies:
> npm install
run the app:
> SET DEBUG=node10:* & npm start
注意は、私たちが実行されていることを、システムは、直接「y」を十分に入り、「先で続行しますか?[Y / N]は、空ではない」促しました。私たちは、フォームのディレクトリに作成されたディレクトリが作成されたプロジェクトファイルを、「NPM -i」の一部となっているためです。
- 依存パッケージをインストール表現「をインストールNPM」を実行します
D:\Projects\nodejs\NodeDemo\forms>npm install
added 4 packages from 3 contributors, removed 2 packages, updated 16 packages and audited 141 packages in 12.091s
found 0 vulnerabilities
- プロジェクトを実行、「NPM開始」
D:\Projects\nodejs\NodeDemo\forms>npm start
> [email protected] start D:\Projects\nodejs\NodeDemo\forms
> node ./bin/www
GET / 200 17.703 ms - 207
GET /stylesheets/style.css 200 5.473 ms - 111
この時点で、ブラウザを開いてhttp:// localhos:3000 /プロジェクトのホームページ急行作成を表示します。
expressjsホームページ
ExpressJS静的ページ処理
ラインによってコードラインを介して自分自身をノック基礎となる処理の多くを必要としないフレームワークを使用することの利点は、フレームワークの価値は、それがパッケージインタフェースの多くを提供することができることです。
静的ページを扱うには、我々は、応答することで、クライアントへのFSモジュールファイルの背を読んでする必要はありません。急行で、あなただけのテンプレートファイル名を渡し、response.render()メソッドを呼び出す必要があります。
サンプルコード:/routes/index.js
//引入express
var express = require('express');
var router = express.Router();
/* 获取静态页面 */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
//导出抹开
module.exports = router;
作成されたコードのExpressプロジェクトからの抽出物上記のコードは、あなただけの静的なページのリターンは、その後)(インデックステンプレートファイルと呼ばれるresponse.renderを読んで、getメソッドを明示モジュール、ルータコールルーティングを導入する必要が見ることができ、静的テンプレートファイルは、クライアントに返すことができます。{タイトル:「エクスプレス」}があることが、ここで注意がテンプレートパラメータである、我々は後で紹介します。
わずか数行のコード、ロジックの周りの無人は、静的なページの処理が完了しています。
ExpressJSルート
上記のプロセスの静的なページでは、ルートルータを使用していました。次のルートの特定の使用:
- 入口app.jsファイル内の処理経路の実際の導入。例えば、我々は実際のルーティング、静的なページインデックスが/routes/index.jsであると、我々は、次のコードをインデックスapp.jsルートルータを導入することができます対処します
var indexRouter = require('./routes/index');
- 静的ページ/テンプレートディレクトリを設定します。
app.set('views', path.join(__dirname, 'views'));
......
//中间省略数行代码
......
app.use(express.static(path.join(__dirname, 'public')));
__dirnameここでのコード行は、静的なページ/テンプレートディレクトリを指定し、カレントディレクトリを表します。
ルーティング処理app.useによって相対パスを指定3.
app.use('/', indexRouter);
サイトにアクセスする際、システムはすなわち/routes/index.js、インデックスルーティングプロセスを使用して、ここに述べました。
そして、我々はあまりにもindex.jsで以前の話、システムは、静的なページがブラウザにそのテンプレートファイルを渡すres.render()メソッドを呼び出します。
ExpressJS動的ページの処理
res.sendによる方法()。
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
サンプルコードは/routes/users.jsを表示することができます
これは/ユーザーをルーティング処理経路であり、経路情報はapp.js.に書き込むことができます
var usersRouter = require('./routes/users');
app.use('/users', usersRouter);
場合は、ブラウザでhttpを介してユーザ:// localhostを:3000 /ユーザーは、システムがresponse.getで/routes/users.jsを()メソッドは、クライアントに情報を返す呼び出しますとき。
ルーティングユーザー