ホームページ >ウェブフロントエンド >jsチュートリアル >Windows での Node.js の簡単な入門チュートリアル system_node.js

Windows での Node.js の簡単な入門チュートリアル system_node.js

WBOY
WBOYオリジナル
2016-05-16 15:53:271641ブラウズ

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 和谐共存:

  •     IISNode: 这是一个在你的IIS站点让Node.js像一个应用池那样运行的很聪明的点子, 同在IIS中与运行PHP很像. 事实上,Azure就是用这个在其平台上运行Node.js的.
  •     WinServ: 它让 Node.js 像一个Windows服务那样运行. 它实际上是对流行了 NSSM (Non-Sucking Service Manager)的一个对Node.js友好的封装. 一旦作为一个服务运行,你就可以使用IIS的应用请求路由(ARR) 来代理向你的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靠拢了, 对你而言同样是不是时候来辅助行动了呢?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。