Node概念、特徴及び基本用法(入門進級一)

3390 ワード

1、紹介
1.1  概念と特徴
? Nodeはjsのサーバ実行環境です.実行環境には次の2つの意味があります.
1>   jsはnodeを介してサーバで実行されます.この意味で、nodeはjs仮想マシンに似ています.(ブラウザのセキュリティレベルの制限はありません.ドメイン間などの問題はありません.サーバ側で実行されているためです).
2>  nodeは、jsがファイルの読み書き、プロセスの管理、ネットワーク通信(HTTPモジュール)などのオペレーティングシステムとインタラクティブになるように、多くのツールライブラリを提供しています.この意味で、nodeはjsのツールライブラリでもあります.
3>  GoogleのV 8エンジンをjsの言語解釈器として採用し、独自に開発したlibuvライブラリを通じてオペレーティングシステムリソースを呼び出す.
4>   commonJS仕様に基づく.
5>   イベント駆動、非ブロックI/Oモデルを使用し、軽量で効率的です.
6>   そのパッケージ管理ツールnpmは、世界最大のオープンソースライブラリです.
7>   高同時性を解決するトップ(現在最も速いのはgo言語).
8>   生まれつきES 6を支持する.
9>   BOM、DOMオブジェクトがない、すなわちwindow、documentがない.
10>   ブロックチェーンを開発できます.
11>   特に、フロントエンドのアクセス性能を向上させるアプリケーションに適しています.
12>   高いCPU側の演算には向いておらず、CPUの利用率が低い.
1.2、バージョン管理ツールnvm
1つのマシンに複数のバージョンのnode.jsをインストールする場合は、バージョン管理ツールnvmを使用する必要があります.
1.3、基本的な使い方
1>   コマンドラインにnodeを入力すると、nodeのREPL環境に入り、各種JavaScriptコマンドを直接実行できます.
$ node
> console.log(1);//  node  ,          

$ node --use_strict //       –use_strict, REPL         。

node **.js //  js  ,       tab   (nodemon  **.js)
//**.js       ,          ,               

//       
shift+   :      
ctrl+c :       
ctrl+c    /ctrl+d :   Node REPL。
  /    :          
tab /.help :       
.break/.clear :        
.save filename :       Node REPL        
.load filename :      Node REPL        
cls :   

2>   特殊変数の下線()は、前のコマンドの戻り結果を表します.
> 1 + 1
2
> _ + 1
3

3>  複数行の式を入力すると、「...」の3つの点の記号が自動的に生成され、折り返して改行すればいいです.Nodeは連続式であるかどうかを自動的に検出します.
> do {
... x++;
... console.log("x: " + x);
... } while ( x < 5 );
x: 1
x: 2
x: 3
x: 4
x: 5
undefined
>

4>  式を実行すると、コマンドラインに直接結果が返されます.文を実行すると、値が返されないため、出力はありません.
> x = 1
1
> var x = 1

1.4、グローバルオブジェクトとグローバル変数
1>グローバルオブジェクト
global
ブラウザのwindowオブジェクトに似たノードが存在するグローバル環境を表します.ブラウザでグローバル変数を宣言する場合、var x = 1のようなグローバルオブジェクトのプロパティが宣言される場合、Nodeはそうではありません.少なくともモジュールではそうではありません(REPL環境の動作はブラウザと同じです).モジュールファイルでは、window.x = 1が宣言され、この変数はvar x = 1オブジェクトの属性ではなく、globalはundefinedに等しい.これは、モジュールのグローバル変数がすべてそのモジュールにプライベートであり、他のモジュールは取得できないためです.
process
このオブジェクトはノードが置かれている現在のプロセスを表し、開発者がそのプロセスとインタラクティブになることを可能にする.
console
ノードに内蔵されたconsoleモジュールを指し、コマンドライン環境における標準入力、標準出力機能を提供する
var a = 1;
console.log(window.a); //1
//         ,var x = 1     window.x = 1

2>  グローバル関数
setTimeout()
ミリ秒を指定した後、コールバック関数を実行します.実際の呼び出し間隔は、システム要因にも依存します.間隔のミリ秒数は、1ミリ秒から2147483647ミリ秒(約24.8日)の間である.この範囲を超えると、自動的に1ミリ秒に変更されます.このメソッドは、この新しいタイマの番号を表す整数を返します.
clearTimeout()
settimeoutメソッドの新規作成を終了するタイマ
setInterval()
コールバック関数を一定ミリ秒ごとに呼び出すために使用します.システム要因のため、呼び出しごとに指定されたミリ秒数だけ正確に間隔を置くことは保証されませんが、この間隔よりも多く、少なくはありません.指定したミリ秒数は、1~2147483647(約24.8日)の整数でなければなりません.この範囲を超えると、自動的に1ミリ秒に変更されます.このメソッドは、この新しいタイマの番号を表す整数を返します.
clearInterval()
setIntervalメソッドで新しいタイマを終了
require()
モジュールのロード
Buffer()
バイナリ・データの操作
3>  グローバル変数(両方とも下線で始まる)
__filename
現在実行中のスクリプトのファイル名
__dirname
現在の実行スクリプトが存在するディレクトリ
4>  ローカル変数(擬似グローバル変数)
このほか、実際にはモジュール内部のローカル変数であるオブジェクトもあり、指向するオブジェクトはモジュールによって異なるが、すべてのモジュールが適用され、module、module.exports、exportsなどを主とする擬似グローバル変数と見なすことができる.