ホームページ > ウェブフロントエンド > jsチュートリアル > Node.js カスタム モジュールのコンテンツの紹介 (コード付き)

Node.js カスタム モジュールのコンテンツの紹介 (コード付き)

不言
リリース: 2018-08-23 17:33:35
オリジナル
1203 人が閲覧しました

この記事では、Node.js カスタム モジュールの内容を紹介します (コード付き)。必要な方は参考にしていただければ幸いです。

エクスポート

方法 1:

エクスポート。属性名 = 値/変数;

メインモジュールをエクスポートできます。 / module.js

const  myModule = require("./自定义模块.js");


console.log(myModule.username);

console.log(myModule.userage);


myModule.getInfo();


console.log(myModule.address);
ログイン後にコピー

カスタム module.js

// 自定义模块
// =========1.变量============
let username = "Jack";
let userInfo = {age:10, grade:"H5"};

// 导出/ 暴露内容
exports.username = username;
exports.userObj = userInfo;

//直接赋值
// =========2.变量============
exports.userage = 18;

// =========3.方法============
exports.getInfo = function () {
    console.log(userInfo,username);
}

//另一个方法表示

module.exports.address = "北京";
//module.exports 等同于exports
console.log(module.exports === exports);//输出true
ログイン後にコピー

メソッド 2: module.exports = object;

moudule.exports = class/constructor/function;

注: 複数の module.exports を記述します。 = オブジェクトは前のオブジェクトを上書きし、その値を変更します。

エクスポートされたクラス/コンストラクターは new を通じてエクスポートする必要があり、オブジェクトは new にすることはできません。

カスタム モジュール 2-2.js

//自定义模块2

module.exports = {
    user:"丽丽",
    tag: 100
}


//方法
//此时user和tag输出的为undefined,因为这个exports方法会直接覆盖上面的exports
module.exports = function () {
    console.log("自定义模块2");//主模块调用:myModule2()或new myModule2()
}

// 导出===类(构造函数)
module.exports = class UserName{
    // console.log("我是个类/构造函数");//导进的模块必须通过new 下进行导出,对象不能new
}


//这样不能进行导出,相当于又声明了一个exports,exports添加属性和方法是可以进行导出,修改属性或者方法就不能进行导出
// exports = {
//     a:100
// }
ログイン後にコピー

メイン モジュール.js

// 自定义模块2
console.log("=============自定义模块2===============");
const  myModule2 = require("./自定义模块2-2.js");
// console.log(myModule2);
console.log(myModule2.user);
console.log(myModule2.tag);

// myModule2();//还可以new myModule2()表示
new myModule2();
ログイン後にコピー

例: 円と正方形の面積と周囲長を計算します

main.js

// 引入模块
let square = require("./square.js");
let circle = require("./circle.js");

// 计算正方形的面积和周长
let squareClass = new square(10);
console.log("正方形的面积是:"+squareClass.area());
console.log("正方形的周长是:"+squareClass.circumference());

// 计算圆的面积和周长
console.log("圆的面积是:"+circle.area(5));
console.log("圆的周长是:"+circle.circumference(5));
ログイン後にコピー

square.js

//计算正方形的面积和周长,使用模块
module.exports =  class {
    constructor(w){
        this.w = w;
    }
    area(){
        return this.w ** 2;
    }
    circumference(){
        return this.w * 4;
    }
}
ログイン後にコピー

circle.js

//计算圆的面积和周长
exports.area = function (r) {
    return Math.PI * (r ** 2);
}
exports.circumference = function (r) {
    return 2 * Math.PI *r;
}
ログイン後にコピー

関連する推奨事項:

Node.js モジュール パスの紹介

Node.js ファイルシステムでのファイル監視のコード実装

以上がNode.js カスタム モジュールのコンテンツの紹介 (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート