ノードの機能(2):ノード内蔵オブジェクト
6271 ワード
ノード埋め込みオブジェクト
(globalA.js)
module.exports = () => global.message;
(globalB.js)const A = require('./globalA');
global.message = '안녕하세요';
console.log(A());
(結果)$ node globalB
안녕하세요
console.time(ラベル):console.timeEnd(ラベル)に対応する時間、すなわち同一ラベルが同一時間とtimeEndとの間の時間を測定する.
console.log(コンテンツ):コンソールに通常のログが表示されます.console.Error(エラー内容):コンソールにエラーを表示する
console.table(タイ):オブジェクトのテキストをタイリングの要素に入れると、オブジェクトのプロパティが表形式で表示されます.
console.dir(オブジェクト、オプション):コンソールにオブジェクトを表示します.オプションのタイプには、colors(trueに設定するとコンソールに色が追加されます)とdepth(オブジェクト内のオブジェクトが表示されるレベルを決定する)があります.
console.trace(ラベル):トレース可能なエラーがどこで発生したか(ほとんどのエラーが発生した場合、場所が表示されますが、役に立つことはありません)
const string = 'abc';
const number = 1;
const boolean = true;
const obj = {
outside: {
inside: {
key: 'value',
},
},
};
console.time('전체시간');
console.log('평범한 로그입니다 쉼표로 구분해 여러 값을 찍을 수 있습니다');
console.log(string, number, boolean);
console.error('에러 메시지는 console.error에 담아주세요');
console.table([{ name: '제로', birth: 1994 }, { name: 'hero', birth: 1988}]);
console.dir(obj, { colors: false, depth: 2 });
console.dir(obj, { colors: true, depth: 1 });
console.time('시간측정');
for (let i = 0; i < 100000; i++) {}
console.timeEnd('시간측정');
function b() {
console.trace('에러 위치 추적');
}
function a() {
b();
}
a();
console.timeEnd('전체시간');
settimeout(コールバック関数、ミリ秒)
:指定したミリ秒後にコールバック関数を実行
setInterval(コールバック関数、ミリ秒)
:指定したミリ秒に対してコールバック関数を繰り返し実行
setImmediate(コールバック関数)
:コールバック関数
キャンセルタイマー
义齿
:settimeoutをキャンセル
clearInterval(アイデンティティー)
:setIntervalのキャンセル
clearImmediate(アイデンティティー)
:Immediate
const timeout = setTimeout(() => {
console.log('1.5초 후 실행');
}, 1500);
const interval = setInterval(() => {
console.log('1초마다 실행');
}, 1000);
const timeout2 = setTimeout(() => {
console.log('실행되지 않습니다');
}, 3000);
setTimeout(() => {
clearTimeout(timeout2);
clearInterval(interval);
}, 2500);
const immediate = setImmediate(() => {
console.log('즉시 실행');
});
const immediate2 = setImmediate(() => {
console.log('실행되지 않습니다');
});
clearImmediate(immediate2);
console.log(__filename);
console.log(__dirname);
$ node filename.js
C:\Users\zerocho\filename.js
C:\Users\zerocho
require.mainはmoduleと同じです(===)
名前が知りたいならrequiremain.filenameを押せばいいです.
各モジュールフラグメントの情報が含まれます.
新しいrequireが欲しいなら、require.cacheを削除すればいいです.
次に参照するモジュールは空のオブジェクト
(dep1.js)
const dep2 = require('./dep2');
console.log('require dep2', dep2);
module.exports = () => {
console.log('dep2', dep2);
};
(dep2.js)const dep1 = require('./dep1');
console.log('require dep1', dep1);
module.exports = () => {
console.log('dep1', dep1);
};
(コンソール結果)dep1 의 module.exports가 함수가 아니라 빈 객체로 표시됨
process.バージョン:ノードがインストールされているバージョン
process.Arch:プロセッサアーキテクチャ情報
process.プラットフォーム:オペレーティングシステムプラットフォーム情報
process.pid:現在のプロセスのid
process.通常稼働時間():プロセス開始後の期間(単位:秒)
process.execPath:ノードのパス
process.cwd():現在のプロセスが実行されている場所
process.cpu使用():現在のcpu使用量
システムの環境変数.ノードに直接影響します.
コード:ノードに最大8 GBのメモリ値
NODE_OPTIONS =--max-old-space-size=8192
コード:8スレッドプール
UV_THREADPOOL_SIZE=8
コード:重要なパスワードを処理します.
const secretId = process.env.SECRET_ID;
const secretCode = process.env.SECRET_CODE;
process.nextTick(コールバック)setImmediate(() => {
console.log('immediate');
});
process.nextTick(() => {
console.log('nextTick');
});
setTimeout(() => {
console.log('timeout');
}, 0);
Promise.resolve().then(() => console.log('promise'));
$ node nextTick
nextTick
promise
timeout
immediate
process.义齿setInterval(() => {
if (i === 5) {
console.log('종료!');
process.exit();
}
console.log(i);
i += 1;
}, 1000);
$ node exit
1
2
3
4
종료!
Reference
この問題について(ノードの機能(2):ノード内蔵オブジェクト), 我々は、より多くの情報をここで見つけました https://velog.io/@nahyunbak/노드의-기능2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol