The content of this article is an introduction to the content of the Node.js custom module (with code). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
Export
Method 1:
exports .Attribute name = value/variable;
Note: Multiple exports can be exported.Attribute name = value/variable;
Main module/Introduction module.js
const myModule = require("./自定义模块.js"); console.log(myModule.username); console.log(myModule.userage); myModule.getInfo(); console.log(myModule.address);
Self Define 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
Method 2:
module.exports = object;
moudule.exports = class/ Constructor/function;
Note: Writing multiple module.exports = objects will overwrite the previous one and modify its value;
The exported class/constructor must be exported through new , the object cannot be new;
Example:
Custom module 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 // }
Main module.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();
Example: Calculate circle, The area and perimeter of a square
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; }
Related recommendations:
Introduction to the content of the module path in Node.js
Code implementation of file monitoring in the Node.js file system
The above is the detailed content of Introduction to the content in Node.js custom modules (with code). For more information, please follow other related articles on the PHP Chinese website!