node関連
5764 ワード
nodeは何ですか nodeは、chrome v 8エンジンに基づくjavascriptが実行される環境です.nodeはイベント駆動と非閉塞I/Oモデルを用いて,その軽量化を効率的に行った.nodeのカバンマネージャはnpm です.もっとnodeの関連を調べます. nodeの取り付け(mac) nodeのメインスレッドは、シングルスレッドの です. web非同期方式は、set Timeout、calback、onClick、ajax です.同期/ブロック、非同期/非ブロック;同期は、アプリケーションの実行フローにとって、カーネル入出力に対してブロックされます.非同期と非ブロックも同じです.4.i/o操作とは、読み書き操作です.非同期を使用しないでください. は環境変数を区分し、コードは process.nextTick/非同期的に、現在のキューの下のステップ、同期後の実行setImmedite/を第二のキューに入れます./また、パラメータを追加しないと、どのような処理が行われますか?設定時間が必要な場合は、setTimeout を使用する必要があります.
7.残りの演算子(...形の中に入れると残りの演算子)(s 6文法)演算子を展開します.(...実際の参照に入れると演算子が展開されます.) 連結対象(拡張演算子、s 7文法では、nodeバージョン8.5以上が必要) nodeの中のjsファイルには、外部層のクローズドのイメージパラメータを表している大域変数argmentsがあります.これらのパラメータは、ファイル内で直接 を使用することができます.モジュール化の役割:低結合、高凝集、同じ機能を実現するコードを一つのファイル(高凝集)に置き、異なる機能を実現するコードを異なるファイル(低結合)に分離する.メンテナンスに便利ですコード競合防止(ネーミング競合) モジュール化を実現する方法はどれらがありますか?単に例を挙げると最終的に淘汰されます.jsの中で単に字面量の対象を定義して、一人はobjの対象を使って、もう一人はobjの対象を使って、唯一の衝突を保証することができなくて、やはり衝突を招くことができます.だから最終的に淘汰されました. ブラウザでは、クローズドによって実装されるモジュール化には主に二つの仕様があり、一つはCMD、一つはAMD(ブラウザ側のモジュール仕様、seajsはCMDの代表作(近依存)、requirejsはAMDの代表作(依存前置) である. nodejsモジュール化された仕様は、comonjsに基づいており、以下の規則が規定されている. のnodejsの中に一つの関数が非同期関数であれば、通常はすべてコールバック関数 があります. exportとmodule.exportsの違い:exportとmodule.exportsは同じ対象を指していますが、モジュールが最終的に導出したのはmodule.exportsです.つまり、導き出す時に utils.isarrayとutils.isFunction、utils.inheits(共有方法を継承) util.promisifyは、通常のコールバック関数付きの方法をpromise に変換する.グローバルインストール npm i xxx-g(コマンドラインのみ使用可能) npm root-gは、グローバルにインストールされたカバンがどこに設置されているかを確認できます. nvmは、nodeのバージョンを切り替えて管理するnodeのバージョンであり、グローバル にインストールすることができる. nrmはnpmを切り替えるソースです.具体的には次のように を使います. http-serverモジュールの使用により、一つのserverを起動します.どのディレクトリをルートディレクトリとしてserverを構築したいなら、どのディレクトリに入りますか?http-serverセット を実行します.は、nodeサード・モジュールidocモジュールに基づいてブログテンプレート を新規に作成することができる.
ローカルインストール は、ローカルにインストールされていません.インストール前にディレクトリ内で初期化してインストールの依存性を記録する必要があります. npm init-yは、現在、新たにpackage.jsonファイル を追加します.あるディレクトリの下に第三者モジュールをインストールすると、先に現在のディレクトリでpackage.jsonファイルを探します.見つけられなかったら、父とディレクトリを探します.見つけられないなら、現在のディレクトリの下に をインストールします. package.jsonの中のスクリプトは、ショートカットコマンドスクリプト を構成することができます.現地の依存は開発依存とプロジェクト依存に分けられます.プロジェクト依存は開発時に必要で、オンラインも必要です.開発依存は開発時に必要です.オンライン時は必要ではありません. まず海外に帰ります. パッケージ名は既存のパケット名と同じではいけません. は、統合のための入り口ファイルが必要です. 登録アカウント アカウントがあれば パケット が発行されます.
ブザー概念 概念:bufferは である.導入理由:js言語にはバイナリデータタイプがありません.TCPフローとファイルフローを処理する際には、 が必要です. Nodejsは、バイナリデータの動作 を提供するためにバfferオブジェクトを提供する.ブザーオブジェクトは を必要とする. bufferは、複数の自己要素からなる配列のようなものであり、効率的に、javascriptにバイナリデータ を表すことができる.ブザーには16進 が保存されています.
バイト コンピュータ最小記憶計量単位は、BIT(ビット)バイナリデータ である.コンピュータの基本記憶測定単位は、Bytes(バイト) です.によって、バーターの3つの方法を定義します. 長さによってバfferを定義する .配列によってバffer を定義する.文字列作成ブザー ブザーは文字列 に変換されます.
//1. nvm
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
//2. node
nvm install 8.11.3
//3.
nvm use 8.11.3
//4. node
node -v
//5. cnpm npm
npm i cnpm -g
関連概念process.env.NODE_ENV
を通している.export NODE_NEV=XXX;//linux
set NODE_ENV=XXX;//window
7.残りの演算子(...形の中に入れると残りの演算子)(s 6文法)
... , args
setTimeout((...args) => {
console.log(args.length)
},100, ' ’)
function add($1,$2) {
console.log($1,$2)
}
add(...[1,3]);
let obj1 = {name:'miaozhirui'};
let obj2 = {age:18}
let obj3 = {...obj1, ...obj2};
console.log(obj3)
exports requre module __filename __dirname
1. : js
2. : require
3. : exports/module.exports
exports=demo
であれば、この言葉は実際には有効ではありません. // then , , promise
read().then(function(data){},function(error){})
// read
function read(){
//resolve reject , resolve then ; reject then
return new Promise((resolve, reject) => {
})
}
############## ################
let util = require('util');
let fs = require('fs');
let readFile = util.promisify(fs.readFile);// promisify
readFile('2.js', 'utf8').then(function (data) {
console.log(data)
}, function (error) {
console.log(error)
})
モジュールの取り付け//
cnpm i nrm -g
nrm ls
nrm use taobao //
npm http-server -g
cd /demo
http-server;
npm run dev
//
npm install jquery --save
//
npm uninstall jquery --save
//
npm install less -D || npm i less --save-dev
//
npm uninstall less --save-dev
//
npm install // package.json
//
npm install jquery@xxx
カバンをリリースするnrm use npm
npm whoami
/現在のユーザは誰ですか?npm addUser
npm login
にアカウントを入力すればいいです.npm publish [floder]
/floaderを持たないと、現在のディレクトリブザー
であり、入出力データを一時的に保存するための
を示すグローバルオブジェクトであり、つまりキャッシュエリアに置くバイト数は
1024bytes = 1k
8bit(8 ) = 1bytes
1 (3 bytes)
1 255
1 16 ff
let buffer = Buffer.alloc('6');
let buffer = Buffer.allocUnsafe(6);
let buffer = Buffer.from([1,2,3,4])
let buffer = Buffer.from(' ')
buffer.toString()