nodejs學習筆記-獲取系統IP地址

核心模塊文件index.js

javascriptvar os = require('os');
var ip = function() {
    console.log('obtain an IP address');
}

ip.prototype.address = function() {
    var network = os.networkInterfaces();
    for(var i = 0; i < network.en1.length; i++) {
        var json = network.en1[i];
        if(json.family == 'IPv4') {
            console.log(json.address);
        }
    }
}
module.exports = ip;

將index.js文件放到項目node_modules目錄中,並在此目錄中新建立一個新的目錄,命名爲ip,對應的目錄路徑爲:javascript

javascriptnode_modules/ip/index.js

這樣作的好處:

外部調用的時候,只輸入引入模塊名就能夠了,nodejs會自動加載該目錄下的模塊。java

這樣作的壞處:

模塊的名稱必須命名爲index.js,不然nodejs將報Error: Cannot find module '自定義模塊名' 錯誤。node

另外一種方法:

一、目錄結構不變,模塊的名稱能夠隨便定義。例如xx.js。
二、在該目錄下新建立一個文件叫package.json。在這裏指定模塊的路徑及名字:json

javascript{
    "name" : "ip",
    "main" : "./xx.js"
}

注意:name值必須是模塊中module.exports後的值,不然,仍是會報 Cannot find module '自定義模塊名'錯誤。ui

調用文件test.js

javascriptvar ip = require('ip');

ip = new ip(); 

ip.address();
相關文章
相關標籤/搜索