NodeJS学習——はじめに

3987 ワード

前書き:転校を決意して以来、専門科目のjavaがほとんど荒れ果ててしまいましたので、バックグラウンド開発のロジックもほとんど忘れてしまいました.しかし、準フロントエンドのプログラム猿として、バックエンドの開発を知る必要があると思います.深く勉強する必要はありませんが、プロジェクトのフロントエンドからバックエンドまでの流れを知ることができ、簡単な業務ロジックを実現することができます.NodeJSは、フロントエンドの開発者がバックエンドの開発に関する最良の選択というべきです.先端が熟知しているJavascript言語を使用しています.
一、何がNode.jsですか?
Node.jsは、V 8エンジンベースのサーバー端末Javascriptの動作環境です.Javascript(JSと略称します.以下同じです.)は後段のアプリケーションを開発する能力があります.
JS言語を使っていますので、リリース以来先端開発者に愛されています.多くの先端開発者がバックエンド開発に足を踏み入れ、Node.jsを使って先端ツールを再構築します.
Node.jsは、非閉塞I/O流、イベント駆動機構によって、非常に高い合併能力を示しています.また、Nodeは高性能のV 8エンジンを使用しており、さまざまな用途のAPIを提供しており、新たなコンパイル技術を採用し、高性能のサーバーを実現しています.
二、ノード.js環境設置
Node.jsの環境はインストールするのがとても簡単で、公式サイトに行きます.http://nodejs.org/en/安定バージョンのインストールパッケージをダウンロードして、次のステップをクリックしてインストールすればいいです.
完成したらCMD入力node -vを開けてインストールが成功したか確認してもいいです.
C:\Users\dawei>node -v
v6.11.1
nodeのバージョン番号が出たらインストール成功を表します.
今からNodejsを勉強します.Node.jsでは、多くの機能が、それぞれmodule(モジュール)に分割される.Node.jsの多くの機能はモジュールによって実現されます.
三、httpモジュールHTTPモジュールは、サーバを作成し、クライアントの要求を受信し、応答するために使用される.
//1、  http  
var http = require('http');

//     
var server = http.createServer(function (req , res) {
    //  HTTP  
    //HTTP   :200:OK
    //  HTTP  ,    200,     html,    utf-8
    res.writeHead(200,{"Content-Type":"text/html;charset=UTF-8"});
    
    //      
    res.write("Hello Node.js");
    
    //      ,    
    res.end();
});

server.listen(8080);      //    

//         ,        
console.log("Server running at http://127.0.0.1:8080/");  
これにより、ウェブサーバを完全に作成し、http://127.0.0.1:8080を介してブラウザでサーバにアクセスすることができます.
コールバック関数のreqオブジェクトは、クライアント要求の情報を含み、req.url属性を使用してユーザ要求のURLアドレスを取得することができ、後半には異なるURLを通じて異なるルートを設計することになる.このURLを識別するには、URLモジュールが使われます.
四、URLモジュール
URLモジュールは、urlを操作するいくつかの方法を提供する.
  • url.parse:解析url、urlアドレスをurlオブジェクト
  • に変換する.
  • url.format():urlオブジェクトをurl文字列に変換するparse方法の逆動作
  • である.
  • url.resove(from、to):ルーティング
  • を追加または置換する.
    1、url.parse()
    上記のコードセグメントにurlモジュールを導入したと仮定します.
    url.parse(req.url)
    
              
    {
      protocol: null,
      slashes: null,
      auth: null,
      host: null,
      port: null,
      hostname: null,
      hash: null,
      search: null,
      query: null,
      pathname: '/',
      path: '/',
      href: '/' }
      
    
    ルートパスにしかアクセスしていないので、内容は基本的に空です.多くの場合、詳細ページにアクセスして、パラメータを伝達する必要があります.
    {
      protocol: null,
      slashes: null,
      auth: null,
      host: null,
      port: null,
      hostname: null,
      hash: null,
      search: '?uaername=dawei&pass=123',
      query: 'username=dawei&pass=123',
      pathname: '/login.html',
      path: '/login.html?uaername=dawei&pass=123',
      href: '/login.html?uaername=dawei&pass=123' }
    
    このオブジェクトのhttp://127.0.0.1:8080/login.html?uaername=dawei&pass=123属性は、私たちのパラメータを保存しています.クエリー文字列とも呼ばれています.query属性には私たちのアクセスパスが保存されています.この二つの属性はよく使われています.
    私たちはしばしばパラメータ情報を取得し、サーバー側でさらに処理する必要があります.JSでは文字列の切り取りを用いてパラメータを取得することができますが、ここではpathname方法に直接にパラメータparseを伝達して、照会文字列をオブジェクト形式に変換して、簡単に取得することができます.
    url.parse(req.url,true)
    
    {
      protocol: null,
      slashes: null,
      auth: null,
      host: null,
      port: null,
      hostname: null,
      hash: null,
      search: '?username=dawei&pass=123',
      query: { username: 'dawei', pass: '123' },
      pathname: '/login.html',
      path: '/login.html?username=dawei&pass=123',
      href: '/login.html?username=dawei&pass=123' }
    
    このようにしてパラメータの値を簡単に得ることができます.
    2、url.resove()
    a、ルートを追加する
    var a = url.resolve('http://example.com/', '/one');
    console.log(a);     //  http://example.com/one
    
    b、ルートの置換
    var b = url.resolve('http://example.com/one', '/two');
    console.log(b);        //   http://example.com/two