javascript - 如何在nodejs中使用相同的文件执行export.module?

标签 javascript node.js

我有 module.export.process 我想在我命令 Node app.js 时执行此函数,它应该执行该函数,我尝试再次导出它,但是这不起作用,我是 Nodejs 的新手,任何帮助将不胜感激。

app.js

    // Include blinlib to access blink common utility modules
    var blinklib = require('../blinklib.js');
    var snmp = require("net-snmp");
    var logger = blinklib.logger('actors.snmp');
    var msg = require('./event.js');
    var config = require('./config.json');
    console.log('CONFIG', config);
    var session = snmp.createSession("127.0.0.1", "public");

    module.exports.process = function (msg, config, callback) {
        var informOid = msg.event.body.data[0].oid;
        var varbinds = msg.event.body.data;
        var options = {upTime: 1000};
        logger.info("Processing message: ", msg.event.message);
        varbinds.forEach(function (value) {
            value.type = snmp.ObjectType.OctetString;
        });
        try {
            session.inform(informOid, varbinds, options, function (error) {
                if (error)
                    console.error(error);
            });
        } catch (e) {
            logger.info(e);
        }
    }
module.export = process;

最佳答案

只需将流程函数导出到外部模块即可:

流程.js

//Import dependencies    

function process(msg, config, callback){}

module.exports = process; 

app.js

var process = require('./process.js'); 
//declare msg, config, callback
process(msg, config, callback); 

或者,不导出任何内容并以 IIFE 方式执行进程:

(function process(msg, config, callback){})(); 

关于javascript - 如何在nodejs中使用相同的文件执行export.module?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37619580/

相关文章:

javascript - node.js 异步/等待与 MySQL 一起使用

node.js - Node js 模块的命令行文档查看器

javascript - 在 Js 文件中运行 npm start

javascript - 选择 :target on document. 就绪()

node.js - 无法在Windows中通过npm安装 Node ZeroMQ

javascript - 如何从不同的 JS 文件访问 EJS 文件中的变量

javascript - react js 中的 lodash.debounce 搜索

javascript - angular2 http post 请求获取 res.json()

javascript - Node.js 中的 jQuery 方法

javascript - 如何使用 Node 在 mongoose 中使 isModified 为真