TypeError:undefined不是Node JS函数

MGD

我是JavaScript的新手,我正在运行一个非常基本的代码,但是遇到了麻烦。代码如下

MyService.js

var http = require('http');
var express = require('express');
var app = express();

var gpioControl = require('./GPIOController');

app.get('/pressUp/', function (req, res){
    console.log("Pressed Up");
    gpioControl.upButtonPress();
});

app.get('/pressDown/', function (req, res){

    console.log("Pressed Down");
    gpioControl.downButtonPress();
});

app.listen(3000);

console.log("The server is running on port 3000");

GPIOController.js

var upButtonPress = function ()
{
    console.log ("UP Button has been pressed!");
}

var downButtonPress = function()
{
    console.log ("Down Button has been pressed!");
}

我得到的错误如下:

TypeError: undefined is not a function
   at C:\Users\mehroz\Desktop\Rasberry Pi Automation\MyService.js:11:14
   at Layer.handle [as handle_request] (C:\Users\mehroz\Desktop\Rasberry Pi Automation\node_modules\express\lib\router\layer.js:82:5)
   at next (C:\Users\mehroz\Desktop\Rasberry Pi Automation\node_modules\express\lib\router\route.js:110:13)
   at Route.dispatch (C:\Users\mehroz\Desktop\Rasberry Pi Automation\node_modules\express\lib\router\route.js:91:3)
   at Layer.handle [as handle_request] (C:\Users\mehroz\Desktop\Rasberry Pi Automation\node_modules\express\lib\router\layer.js:82:5)
   at C:\Users\mehroz\Desktop\Rasberry Pi Automation\node_modules\express\lib\router\index.js:267:22
   at Function.proto.process_params (C:\Users\mehroz\Desktop\Rasberry Pi Automation\node_modules\express\lib\router\index.js:321:12)
   at next (C:\Users\mehroz\Desktop\Rasberry Pi Automation\node_modules\express\lib\router\index.js:261:10)
   at expressInit (C:\Users\mehroz\Desktop\Rasberry Pi Automation\node_modules\express\lib\middleware\init.js:23:5)
   at Layer.handle [as handle_request] (C:\Users\mehroz\Desktop\Rasberry Pi Automation\node_modules\express\lib\router\layer.js:82:5) 
纸莎草纸

如果GPIOController.js是一个节点模块(看起来像它),则需要使用CommonJS模式。话虽如此,您应该将GPIOController中的var声明更改为export。您的功能名称在这里声明。

因此,var upButtonPress = function(){}将变为

exports.upButtonPress = function(){}

然后,它将在您在MyService.js中使用时正常工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

typeerror undefined 不是 node js 中的函数

TypeError:undefined不是Node.js中管道的函数

TypeError:undefined不是Node.js中的函数

使用Express在node.js中要求jQuery-ui时出现“ TypeError:undefined不是函数”

Node.js和Mongodb-TypeError:undefined不是一个函数

node.js TypeError:undefined不是app.get(“ /”)上的函数

Node.js | TypeError:[...]不是函数

TypeError:undefined不是函数Angular

TypeError:回调不是Node.js中的函数

Node.js异步并行“ TypeError:任务不是函数”

Node.js“TypeError:process.nextTick 不是函数”?

node.js-TypeError:db.model不是函数

TypeError:count 不是 node.js 和 sequelize 中的函数

Node.js TypeError:未定义不是函数

Node.js-“ TypeError-res.setHeader不是函数”

TypeError:promise.then(...)。then(...)。then(...)。then(...)。catch不是Node Js中的函数

TypeError:回调不是Node.js中的函数

TypeError:对象不是Node JS / socket.io中的函数

TypeError:sql.Connection不是Node.js函数

TypeError:firebase.messaging不是node.js中的函数

TypeError:不是Node和Express JS的构造函数

TypeError:undefined不是函数(评估调度)

TypeError:Undefined不是简单的if语句中的函数

未捕获的TypeError:undefined不是函数

未捕获的TypeError:undefined不是函数:67

未捕获的TypeError:undefined不是函数

获取TypeError:undefined不是AngularJS函数

未捕获的TypeError:undefined不是函数$

JS:您的函数不是函数!TypeError