4.Nodejs中自定义模块

1.CommonJS(Nodejs)中自定义模块的规定

  • 1.我们可以把公共的功能抽离为一个单独的js文件,作为一个模块,默认情况下,这个模块里面的方法或者属性,在外面是没法访问的。如果要让外部可以访问模块里面的方法或者属性,就必须在模块里面通过exports或者module.exports暴露属性或者方法。
  • 在需要使用这些模块的文件中,通过require的方式引入这个模块。这时候就可以使用模块里面暴露的属性和方法。

2.具体应用

  • exports:通常用于暴露单个函数
// second.js
exports.get=function(){
    console.log("Get方法被调用");
}

exports.post=function(){
    console.log("Post方法被调用");
}

exports.delete=function(){
    console.log("Delete方法被调用");
}

exports.put=function(){
    console.log("Put方法被调用");
}
// first.js
var request = require("./second.js")

request.get();
  • module.exports:通常用于暴露整个对象
// third.js

var request = {};

request.get = function(){
    console.log("Get方法被调用");
}

request.put = function(){
    console.log("Put方法被调用");
}

request.post = function(){
    console.log("Post方法被调用");
}

request.delte = function(){
    console.log("Delete方法被调用");
}

module.exports = request;
var request = require("./third.js")

request.post();

3.node_modules目录的使用

  • 目录结构
MyCode
└─node_modules
|   ├─commons
|   |	└─ index.js
|   └─request
|   	└─ method.js
|		└─ package.json
└─test.js 
  • 使用相对路径进行模块引用
const commons = require("./node_modules/commons/index")

commons.timeFormat();  // index.js中暴露出来的方法
  • 使用node_modules规定进行引用(nodejs规定会自动寻找node_modules下面模块中的index.js
var commons = require("commons")

commons.timeFormat();
  • package.json:如果node_modules下面的模块中没有index.js文件,如node_modulesrequest模块中只有method.js文件,就需要使用pacage.json来处理
    • 1.进入method.js同级目录
    • 2.使用npm init --yes命令来生成package.json文件
      {
        "name": "request",
        "version": "1.0.0",
        "description": "",
        "main": "method.js",  # 主入口
        "scripts": {
          "test": "echo \"Error: no test specified\" && exit 1"
        },
        "keywords": [],
        "author": "",
        "license": "ISC"
      }
      
    • 3.引入模块
      var request = require("request")
      request.get();
      
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值