首页 > 解决方案 > 如何在我自己的节点 js 模块中使用模块?

问题描述

我如何自己使用第三方模块?例如,如果我在应用程序主文件中有类似(使用 body-parser):

app.post("/dothis", (req,res)=>{
    var name = req.body.name;
    console.log(name);
};

这工作很好。但是当我想把它放在单独的文件中(例如 mod.js),并这样写:

exports.own = function(){
       var name = req.body.name;
       console.log(name);
}

然后在主文件中写道:

const mod = require(__dirname + "/mod.js")



app.post("/dothis", (req,res)=>{
        mod.own();
    };

然后我得到错误,req 未定义。

我正在尝试添加 mod.js 文件

const {req} = require ("http");

所以我得到了无法读取未定义名称的值的错误。

有一个问题,我如何将使用 body-parser、express 和其他模块的代码传输到单独的文件或创建自己的模块以获取工作模块?

谢谢!

标签: node.jsmodulebody-parser

解决方案


由于您没有通过请求,因此您变得未定义。

看看你的代码,试试这个。

exports.own = function(req){ // use request
       var name = req.body.name;
       console.log(name);
}

const mod = require(__dirname + "/mod.js")



app.post("/dothis", (req,res)=>{
        mod.own(req); // pass request
    };

推荐阅读