1. 程式人生 > >node——4-node 中的 js

node——4-node 中的 js

  • 支援 EcmaScript
    • 區別:沒有 DOM、BOM
  • 核心模組
  • 第三方模組
  • 使用者自定義模組

核心模組

Node 為 JavaScript 提供了很多伺服器級別的 API,這些 API 絕大多數都被包裝到了一個具名的核心模組中了
例如:檔案操作的 fs 核心模組,http 服務構建的 http 模組,path 路徑操作模組,os 作業系統資訊模組。。。

模組載入:var fs = require('fs');
// 用來獲取機器資訊的
var os = require('os');

// 用來獲取當前機器的 cpu 資訊
console.log(os.cpus());// 一堆 cpu 資訊 // 用來獲取當前機器的 memory 記憶體 console.log(os.totalmem());// 8512643072 // 用來操作路徑的 var path = require('path'); // extension name 副檔名 console.log(path.extname('E:/desk/my-pro/QD-practice/node/1/code/myname.txt'));// .txt

使用者自定義模組

注意:require 相對路徑必須加 ./
推薦:可以省略字尾名
在這裡插入圖片描述

在 Node 中,沒有全域性作用域,只有模組作用域

  • 外部訪問不到內部
  • 內部也訪問不到外部

在這裡插入圖片描述

模組之間傳值

require 方法有兩個作用

  1. 載入檔案模組並執行裡面的程式碼
  2. 拿到被載入檔案模組匯出的介面物件
  • 在每個檔案模組中都提供了一個物件:exports ,exports 預設是一個空物件,把所有需要被外部訪問的成員掛載到這個 exports 物件中

2.js 檔案內容傳給 1.js
1.js

var res = require('./2');

console.log(res.foo);// hello

console.log(res.add(20, 10));
// 30

2.js

var foo = 'hello';

// console.log(exports);// {}

exports.foo = foo;

exports.add = function (x, y) {
    return x + y;
};