Facebook Messenger Bot:理解语法

时间:2018-04-20 02:56:27

标签: javascript node.js bots

我正在努力学习如何创建一个facebook Bot。

I found this amazing article on Medium which illustrates how we can create a messenger bot

在本文中,作者告诉我们在 controllers / verification.js。中创建一个 verification.js。文件,并在其中粘贴以下代码。

module.exports = (req, res) => {
  const hubChallenge = req.query[‘hub.challenge’];
  const hubMode = req.query[‘hub.mode’];
  const verifyTokenMatches = (req.query[‘hub.verify_token’] === ‘crowdbotics’);
  if (hubMode && verifyTokenMatches) {
    res.status(200).send(hubChallenge);
  } else {
    res.status(403).end();
  }
};

现在,在尝试弄清楚这段代码的作用之前(她已解释过),我无法理解她为什么不在此Node.Js文件中包含任何依赖项(精确表达)

[更新]有人也请详细解释一下上述代码的作用吗?

由于此代码看起来像NodeJS代码,因此不应添加类似

的内容
var express = require("express");
var app = express();

并在module.exports后执行?

1 个答案:

答案 0 :(得分:2)

总结问题下的评论:

  1. 您必须仅在需要时导入模块。这段代码只是通过导入它来导出一个可以在任何其他模块中使用的函数。
  2. 作者只是导出一个匿名的es6箭头函数,这是完全合法的。它可以导入为

    import * as whateverYouNameIt from 'controllers/verification';
    

    let func = require('controllers/verification');
    

    查看arrow functionsnode.js module exports