【发布时间】:2021-12-15 03:59:48
【问题描述】:
我得到一个 ReferenceError(未定义),但我不明白为什么。它在模块 dataController.js 中定义(最后)
Server.js
{
const express = require('express');
const app = express();
var path = require('path');
var bodyParser = require('body-parser');
var dataController = require('./dataController');
const { nextTick } = require('process');
//app.use(express.static(path.join(__dirname, ''))); //original worked with 'build'
const basePathToData = path.join(__dirname, './');
console.log('Basepath: '+ basePathToData);
const options = {
dotfiles: 'allow',
etag: true,
extensions: ['htm', 'html','json'],
index: false,
maxAge: '1d',
redirect: true,
setHeaders: function (res, path, stat) {
res.set('x-timestamp', Date.now());
}
};
app.use(express.static(path.join(__dirname, 'build'))); //original
//app.use(express.static(basePathToData, options));
const port = 3003;
app.get('/api/data',dataController.getData);
console.log("Route ready: /api/data");
app.listen(process.env.PORT || port);
console.log('listening on port: '+ port.toString());
}
dataController.js
const path = require('path');
const fs = require('fs');
const basePathToData = path.join(__dirname, '.');
const getJsonData = function (basePathToData, filename) {
var filename = path.join(basePathToData, filename);
return JSON.parse(fs.readFileSync(filename, 'utf-8'));
};
exports.getData = function (request, response) {
var data = getData(basePathToData, 'Vitals_observation.json');
setTimeOut(function () {
return response.send(data);
}, 100);
};
这是运行 server.js 的错误的关键部分:
监听端口:3003 ReferenceError:未定义getData 在exports.getData (C:\Code-repos\partners-api\dataController.js:13:16) 在 Layer.handle [as handle_request] (C:\Code-repos\partners-api\node_modules\express\lib\router\layer.js:95:5) 在下一个(C:\Code-repos\partners-api\node_modules\express\lib\router\route.js:137:13) 在 Route.dispatch (C:\Code-repos\partners-api\node_modules\express\lib\router\route.js:112:3) 在 Layer.handle [as handle_request] (C:\Code-repos\partners-api\node_modules\express\lib\router\layer.js:95:5) 在 C:\Code-repos\partners-api\node_modules\express\lib\router\index.js:281:22 在 Function.process_params (C:\Code-repos\partners-api\node_modules\express\lib\router\index.js:335:12) 在下一个 (C:\Code-repos\partners-api\node_modules\express\lib\router\index.js:275:10) 在 SendStream.error (C:\Code-repos\partners-api\node_modules\serve-static\index.js:121:7) 在 SendStream.emit (events.js:375:28)
我已经准备好接受一个受教的时刻和一个学习的机会...... 谢谢
【问题讨论】:
标签: javascript node.js express