Node.jsのご紹介
- Node.jsのは、2009年に誕生した、Node.jsのは、C ++で書かれた言語を使用してJavascriptの実行環境です。Node.jsのJavaScriptがブラウザの外で実行できるように、JavaScriptのランタイム環境クロームV8エンジンで、あなたは書き込み、サーバー側のコードにJavaScript言語を使用することができます。
Node.jsのをインストールします。
する公式サイトのNode.jsの安定版をダウンロードし、ノードのバージョンは、非安定版の安定版偶奇バージョンです。
MACが直接取り付けたりインストールする醸造します
- インストール後に自動的にNode.jsのNPM(ノードパッケージマネージャ)がインストールされています:パッケージ管理ツール。
命令ノード-vでインストールが完了したかどうかを確認し、ビューノードのバージョン番号に、NPM -v NPMバージョンを確認します。
使用のNode.jsは、最初のサーバーを達成するために
初期気持ちのNode.js
//引入http模块
let http = require("http");
//创建一个服务器
let serve = http.createServer((req,res)=>{
console.log("hello");
res.end("hello world");
})
//设置端口号
serve.listen(3000);
Google Chromeのデフォルトの非セキュアポートリストは、次のポートを避けるようにしてください。
1、// TCPMUX
7、//エコー
9、//破棄
11、// SYSTAT
13、//昼間
15、//のnetstat
17、// QOTD
19、//のchargen
20、// FTPデータ
21、// FTPアクセス
22、// SSH
23、//テルネット
25、// SMTP
37、//時間
42、//名前
43、// NICNAME
53、//ドメイン
77、// PRIV-RJS
79、//指
87 、// ttylink
95、// SUPDUP
101、// hostriame
102、//イソTSAP
103、// gppitnp
104、// ACR-NEMA
109、// POP2
110、// POP3
111、// SUNRPC
113、 //認証
、// SFTP 115
117、// UUCPパス
119、// NNTP
123、// NTP
135、// LOC-SRV / EPMAP
139、//のNetBIOS
143、// IMAP2
179、// BGP
389、// LDAP
465、// SMTP + SSL
512、// / EXEC印刷
、513 //ログイン
、//シェル514を
プリンタ515、//
526、//テンポ
530、//宅配
531は、//チャット
、532 //ネットニュース
、// UUCP 540
remotefs、// 556
、563 // NNTP + SSL
587、// STMP?
601、// ??
636、// LDAP + SSL
993、// LDAP + SSL
995、// POP3 + SSL
2049、// NFS
/ PasswordServer 3659、//リンゴ-SASL
4045、// lockdの
6000、// X11
6665、//代替IRC [アップルのほか]
6666、//代替IRC [アップルのほか]
6667、//標準のIRC [アップルのほか]
6668、//代替IRC [アップル追加]6669、//代替IRC [アップル追加]
モジュラー
まず、なぜモジュラーう
今拡大するフロントエンドのコードで、開発の初期段階のJavaScriptことを、いくつかの単語を簡単なページの相互作用ロジックを達成することです
振とうスクリプト言語として埋め込まれたJavaScriptをターゲットに、この時間は、JavaScriptが組織コードのための重大な支援を提供していない、JavaScriptコードは非常に単純な組織的な規範であるこのような大規模なコードを管理するのに十分ではありません。
二、モジュラーcommonjsのNode.jsの仕様
何のJS機能モジュールはCommonJSがされて入ってきたので、それだけではなく、ブラウザ、JSはどこにでも実行することができます望んではありませんので、CommonJS JSのパフォーマンスは、あなたの仕様を作ることです。
カスタムモジュールを作成します。1.
モジュールの形で文書の導入
home.js実行ファイル
//通过require来引入 require("./aModule"); //注意一定要有"./",文件后缀可加可不加。
ファイルamodule.js
console.log("我是amodule模块111");
モジュールの形でフォルダの導入
- home.js実行ファイル
require("./aModuledir"); //必须加"./"
index.jsファイル内aModuleDirは、自動的に実行中のindex.jsファイルのフォルダを検索します
console.log("我是aModule模块文件夹");
- もちろん、あなたが実行可能ファイルを指定するには、デフォルトのブートファイル、フォルダ内に新しいpackage.jsonを設定することができます
{ "name":"aModule", "version":"1.0.0", "main":"test.js" }
カスタムモジュールの輸出需要
module.exportsは、エクスポート; ___dirname、__filename
module.exports = { a:"我是a的值", b(){ console.log("我是导出的b函数"); } }
エクスポートファイルの導入
let mymodule = require("bModule"); console.log(mymodule.a); mymodule.b();
または輸出することによって導出
exports.fn = function(){ console.log("我是fn函数"); }
インポートファイル
let myfn = require("bModule").fn; myfn(); // 或者 通过解构赋值 let { fn } = require("bModule"); fn();
モジュールのロードの優先順位は、最初のファイルのディレクトリ。
2、内蔵モジュール。
ビルトインモジュールnodejsがありますバッファー、C / C ++アドオン、子プロセス、クラスタ、コンソール、クロム
ypto、デバッガ、DNS、ドメイン、エラー、イベント、ファイルシステム、
グローバル、HTTP、HTTPS、モジュール、ネット、OS、パス、プロセス、Pのunycode、クエリ文字列、Readlineの、REPL、ストリーム、文字列デコーダ、タイマー、TLS / SSL、TTY、UDP /データグラム、URL、ユーティリティ、V8、 VM、ZLIB;ビルトインモジュールをインストールする必要はありません、モジュールが外部からインストールする必要があります。
NPMパッケージマネージャ
住所NPM(ノードパッケージマネージャ)の公式サイトですNPM公式サイト
- NPM一般的なコマンド。
- NPMのinit:ブートファイルpackage.jsonを作成します
- NPMヘルプ(NPM -h):ビューNPMのヘルプ
- NPMバージョン(NPM -v):ビューNPMバージョン。
- NPM検索:検索
- NPM(NPM I)をインストール:インストール時のデフォルトをカレントディレクトリに、ないnode_modulesは、フォルダを作成する場合は、
- モジュール名は、-Sまたは--saveすなわちNPMモジュール名--save書き込み依存関係をインストールインストールNPM
- NPMモジュール名-D又は-save-DEVすなわちNPMインストールモジュール名--save-DEV書き込まdevDependenciesをインストール
- NPMインストールモジュール名-gグローバルマウント(コマンドラインを使用して)
- 指定インストールのバージョンモジュールNPM Iモジュール名@ 1.0「@」記号が指定されました。
- NPM更新(NPM -up):更新
- NPM削除またはNPMのアンインストール:削除
- インストールまたはNPMルート-g介してグローバルパスを表示するために実装されている現在のパッケージのNPMルートパスを参照。
FSモジュール
FSファイル操作するモジュールであり、すべてのファイル操作は、同期および非同期の分割同期を特徴としているとして「同期」を追加します。読んでファイルを非同期「readFileの」、ファイルの同期「readFileSyncは」読み取ります。
ファイル操作
ファイルを読み取ります:
- 非同期読み取り
let fs = require("fs"); fs.readFile("1.txt",(err,data)=>{ if(err){ return console.log(err); } console.log(data.toString()); })
- 同期は、ファイルを読みます
let fs = require("fs"); let res = fs.readFileSync("1.txt"); console.log(res.toString());
ファイルの書き込み:
let fs = require("fs"); //flag配置 "a":追加写入,"w":写入,"r":读取 fs.writeFile("2.txt","我是要写入的内容",{flag:"w"},err=>{ if(err){ return console.log(err); } console.log("写入成功"); })
ファイルの削除
fs.unlink("2.txt",err=>{ if(err){ return console.log(err); } console.log("删除成功"); })
ファイルのコピー
- 最初のファイルを読み込み、そのファイルへの書き込み
function mycopy(src,dest){ fs.writeFileSync(dest,fs.readFileSync(src)); } mycopy("1.txt","4.txt");
ファイル名を変更し、ディレクトリには、名前の変更によって操作することができます
fs.rename("1.txt","5.txt",function (err) { if(err){ console.log(err); }else{ console.log("修改成功"); } });
ファイルが存在するかどうかを確認
fs.exists("4.txt",function (exists) { console.log(exists); })
バッファバッファ
- バッファの作成
- 直接作成
- アレイの作成
- 文字列を作成します。
- ごみ処理
- バッファ変換のtoString
ストリームの流れ
- ストリームstream:ストリームデータ処理不可分
- 原則ストリーム
- ストリームデータの取得
- パイプ
- データ
- 終わり
- コピーストリームの実装方法
- フロービューをロードする実装方法
概要
nodejsのインストールと使用
サーバーとクライアント
モジュラーcommonjs
使用FSモジュール(ファイル操作やディレクトリの操作)
- ストリーム
バッファ