如何从app.js导出功能并从另一个js文件导入功能?

时间:2019-05-10 14:28:11

标签: node.js rest express

我正在使用节点js和框架express(版本4.16)设置新服务器。我想路由我的休息端点。在我的route.js文件中,我想从app.js(我的服务器)中调用一个函数,但遇到Typeerror,而我想从另一个文件中调用的该函数不是一个函数。 错误:

TypeError: callFunction.getDataFromDb is not a function
at C:\Users\---\WebstormProjects\pwa_node_server\routes\recipes.js:7:18
    at Layer.handle [as handle_request] (C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\layer.js:95:5)
    at next (C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\route.js:137:13)
    at Route.dispatch (C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\route.js:112:3)
    at Layer.handle [as handle_request] (C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\layer.js:95:5)
    at C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\index.js:281:22
    at Function.process_params (C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\index.js:335:12)
    at next (C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\index.js:275:10)
    at Function.handle (C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\index.js:174:3)
    at router (C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\index.js:47:12)

我的服务器:

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var axios = require('axios');

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var recipesRouter = require('./routes/recipes');

var cors = require('cors');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({extended: false}));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(cors({credentials: true, origin: true}));


app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/recipes', recipesRouter);
// app.use('/poste-dein-rezept', indexRouter);


// catch 404 and forward to error handler
app.use(function (req, res, next) {
    console.log("catch404");
    next(createError(404));
});

// error handler
app.use(function (err, req, res, next) {
    // set locals, only providing error in development
    res.locals.message = err.message;
    res.locals.error = req.app.get('env') === 'development' ? err : {};

    // render the error page
    res.status(err.status || 500);
    res.render('error');
});

var getDataFromDb = function (res) { // This function to call in another file

};

module.export = {
  getDataFromDb
};
module.exports = app;



我的路线文件:

var express = require('express');
========
var router = express.Router();
var callFunction = require('../app');

router.get('/', function(req, res, next) {
        console.log('Recipes-Endpoint received Request');
    callFunction.getDataFromDb(res);
});
module.exports = router;

我只想从另一个文件中调用一个函数。

1 个答案:

答案 0 :(得分:1)

您正在使用c=pd.concat([a,b],1) c.columns = ['Classification', 'Boolean'] ~c.Boolean Out[616]: 0 False 1 False 2 False 3 False 4 False 5 True 6 True 7 True 8 True 9 True Name: Boolean, dtype: bool 。正确的属性名称是module.export,您也使用

解决此问题的一种方法是:

module.exports