javascript - 从不同文件调用函数时出现问题 : "updateDB.inputFormToDB is not a function"

标签 javascript node.js function requirejs

Github source for reference

存在问题的文件:updateDB.jsquickstart.js

quickstart.js 中,我在第 2 行设置了一个变量 updateDB:

var updateDB = require('./updateDB.js');

我认为它指的是我的 updateDB.js 文件(当前位于同一文件夹中)。

但是稍后在文件中,当我尝试从第 118 行的 updateDB.js 调用函数时:

    updateDB.inputFormToDB(rows);

我收到错误“updateDB.inputFormToDB 不是函数”。

updateDB.js中,我的设置如下:

var updateDB= function() {
 some function    
 var inputFormToDB = function(parameter) {
     function code
 }
 some function
 some function
};
module.exports = updateDB;

我是否缺少从 quickstart.js 内部调用我的函数的东西???我觉得我在某个地方犯了一些小错误。

最佳答案

问题出在

var updateDB = function() {...}

应该是

var updateDB = {...}

像一个对象。

例如

var updateDB = {
  inputFormToDB: function() {...}
}

var updateDB = function() {
  var x = ...

  function inputFormToDB() {...}

  return {
    inputFormToDB: inputFormToDB
  }
}

关于javascript - 从不同文件调用函数时出现问题 : "updateDB.inputFormToDB is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40311580/

相关文章:

node.js - SLIMERJSLAUNCHER 环境变量丢失。将其设置为 Firefox 或 XulRunner 的路径

c - 无法将新地址分配给函数中的指针?

javascript - Node.js MySQL 数据库连接 - 超时 (ETIMEDOUT)

javascript - 选择打印预览时如何触发javascript函数

javascript - 可排序跳转到容器外

javascript - 调用监听器内的函数时出现问题 (onClick)

function - 将二维数组传递给 Lua 中的函数

javascript - 将正则表达式转换为掩码输入 - Javascript

node.js - 永远, Node : Strange upstart behavior (restart behaving same as stop)

node.js - 是否可以在 Node 的 VM 上下文中提供所有 Node.js Globals?