Paypal と Netflix が最近 Node.js への移行を発表したことで、サーバーサイド Javascript プラットフォームがエンタープライズ分野でその価値を証明しました。これは Node にとっては小さな一歩ですが、JavaScript のプログラマーにとっては大きな進歩です。 NET、Java、PHP、Ruby on Rails、その他の技術分野において、すべてのサーバーサイド プログラマーがこのプラットフォームに集結することになるでしょう。Yahoo、Walmart、Oracle などの大手企業がこのゲームに参入するにつれて、Node は未熟で未熟であるという悪い評判を払拭しています。この記事では、Windows に Node.js をインストールするのがいかに簡単かを説明します。
Node.js をインストールします
Windows に Node.js をインストールするのは簡単です。Node.js の Web サイトにアクセスし、「.msi」ファイルをダウンロードして実行すると、Node.js と NPM (Node Package Management Module) がインストールされます。 .NET アプリケーションの NuGet パッケージ マネージャーと同等です。
Node.js を実行する
Windows で Node.js を実行するのも同様に簡単です。PowerShell を開いて「node -v」と入力します。Node が環境変数にあることを確認し、実行している Node.js のバージョンを確認します。同様に、「npm -v」と入力します。インストールした Node パッケージ管理ツールのバージョンを確認しましょう。完了しましたか? 楽しみ始めましょう!!
メモ帳プログラムを開きます。最初の Node.js アプリケーションを構築します。次のコードをメモ帳プログラムにコピーし、「example.js」などの任意のファイル名を使用して保存します。目的のフォルダーに移動します。
var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello Node'); }).listen(1337, '127.0.0.1');
PowerShell に戻り、「example.js」ファイルがある場所へのパスを変更し、Node を実行します。
cd C:\Websites\NodeTest node example.js
Web ブラウザを開いて http://127.0.0.1:1337 に移動します。最初の Node.js アプリケーションの実行は成功しましたか?
ウェブサイトサービスの提供
「Hello World」の例だけで終わらせてしまうのではないかと心配していますか? HTML ファイルの実行方法がわかれば、「index.html」ファイルを追加するとさらに効果的になります。任意の HTML コンテンツは次のようになります:
<html> <head> <title>Sample Node.js Website</title> </head> <body> <p>This is the home page for you Node.js website.</p> </body> </html>
アプリを実行します。 「index.js」などの任意の名前で新しいファイルを作成し、次の js コードを追加します:
var http = require('http'); var fs = require('fs'); http.createServer(function(req, res){ fs.readFile('index.html',function (err, data){ res.writeHead(200, { 'Content-Type': 'text/html', 'Content-Length': data.length }); res.write(data); res.end(); }); }).listen(1337, '127.0.0.1');
ここからはさらに興味深いことになります。先頭にある追加の行「require」に注目してください。これは、C# で依存関係を呼び出すために使用される「require」行と似ています。 " 名前空間ディレクティブ。
PowerShell で次のように入力して、「index.js」を実行します。「nodeindex.js」(Ctrl-C キーを押して最後の Node アプリケーションの実行を終了するか、今回はブラウザーで新しいポート番号を使用してください)。 http://127.0.0.1:1337 に移動すると、HTML ファイルが表示されるはずです。この成果にはおそらく少し興奮しているでしょうが、私がいなくて寂しいと思うかもしれません。はまだ低レベルのプログラミングなので、毎回ファイルの読み取りやストリーミング、どのようなステータスを送信するかを考えなければならないとしたら、世界はすぐに変わってしまいます。ExpressJS にこんにちは!
。ノード パッケージ マネージャーを使用する
Node.js には、世界を再び美しくするパートナーがいます。ExpressJS は、Node.js で同じ古いトリックを繰り返す必要性をブロックし、単一の Web 開発を可能にするツールです。ページ、マルチページおよび混合タイプの Web アプリケーション用の Web フレームワーク。これなしでは Node.js の世界に希望はありません。
まず、NPM を使用してインストールします。これを行うには、PowerShell を再度開き、アプリケーションのパスに切り替えます。この観点から、「node_modules」というノードが作成されます。ご覧のとおり、Node モジュールは .NET アプリケーションの "bin" ディレクトリのような場所に配置され、ここから依存プログラムを呼び出したり、"require" したりできます
。
ExpressJS 入門
次に、「server.js」などの新しいファイルを作成し、次のコードをそこに貼り付けます。
var express = require('express'); //CREATE APP var app = express(); //LOCATION OF STATIC CONTENT IN YOUR FILESYSTEM app.use(express.static(__dirname)); //PORT TO LISTEN TO app.listen(1337);
这是在调用ExpressJS的依赖, 然后从它那里创建一个应用. 从此你可就牛逼大发了! 在这里,我们只是简单的提供静态文件服务. "__dirname" 是来自ExpressJS的一个特殊的变量,意思是根文件系统位置. 最后你告诉应用去侦听端口 1337. 现在你就拥有了一个提供静态文件服务的 Node.js 站点了! 另外在新增一些HTML文件,一些放在子目录中,然后到http://127.0.0.1:1337 测试看看吧.
关于 IIS
在这些示例中, 我一直都是在端口1337运行应用,而不是端口80.原因是IIS已经侦听了80端口. 有许多的方法可以使IIS 和 Node.js 和谐共存:
关于 MS SQL
有许多为Node.js准备的 MS SQL 驱动程序, 有些甚至是跨平台的. 有一个只能在Windows环境中运行的,是由Windows Azure发布: Microsoft Driver for Node.js for SQL Server. 而你可以像下面这样开始工作:
var sql = require('node-sqlserver'); var connStr = "Driver={SQL Server Native Client 11.0};Server=(local);Database=AdventureWorks2012;Trusted_Connection={Yes}"; var cmd = "SELECT TOP 10 FirstName, LastName FROM Person.Person"; sql.open(connStr, function (err, conn) { conn.queryRaw(cmd , function (err, results) { for (var i = 0; i < results.rows.length; i++) { console.log( "FirstName: " + results.rows[i][0] + " LastName: " + results.rows[i][1]); } }); });
总结
这些都只是皮毛! 与 ExpressJS携手, 你将能够创建带有路由、视图、布局、服务还有更多组件的完全成熟的MVC应用程序. 同样,除非你需要去集成一些现有的Microsoft应用程序或者MS SQL数据库, MongoDB 在你创建一个Node堆栈式是能帮助你从SQL中解放的好伙伴. 最后,你可以使用MEAN创建一个MEAN Javascript全栈应用, 包括有MongoDB, ExpressJS, AngularJS, 和Node.js. 现在企业已经向Node.js靠拢了, 对你而言同样是不是时候来辅助行动了呢?