Maison  >  Article  >  interface Web  >  Introduction au contenu des modules personnalisés Node.js (avec code)

Introduction au contenu des modules personnalisés Node.js (avec code)

不言
不言original
2018-08-23 17:33:351189parcourir

Le contenu de cet article est une introduction au contenu du module personnalisé Node.js (avec code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Exportation

Méthode 1 :

exportations .Nom de l'attribut = valeur/variable;

Remarque : plusieurs exportations peuvent être exportées. Nom de l'attribut = valeur/variable;

Module principal/module d'importation.js

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


console.log(myModule.username);

console.log(myModule.userage);


myModule.getInfo();


console.log(myModule.address);
Module.js personnalisé

// 自定义模块
// =========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

Méthode 2 :

module.exports =

module exports. = class/constructor/function;

Remarque : écrire plusieurs module.exports = objects écrasera le précédent et modifiera sa valeur

La classe/constructeur exporté doit passer Export sous new, le l'objet ne peut pas être nouveau ;

Exemple :

Module personnalisé 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
// }
Module principal.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();
Exemple : Calculer l'aire et le périmètre des cercles et des carrés

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;
}
Recommandations associées :

Introduction au chemin du module dans Node.js

Implémentation du code de la surveillance des fichiers dans le système de fichiers Node.js

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn