我制作了一個 NodeJS 應用程式,它使用靜態方法來執行一些計算功能。當我嘗試訪問該方法時,我得到了 isNotAFunction 錯誤。
這是一個靜態類,在訪問它時會導致錯誤:
exports.module = class PlaceEvaluator
{
static testMethod()
{
console.log("Test");
}
}
這是在讀取時引發例外的檔案的代碼:
PositionFinder = require("./positionFinder.js");
PlaceObj = require("./placeObj.js");
PlaceEvaluator = require("./placeEvaluator.js");
fetch = require("cross-fetch");
const express = require("express");
const http = require("http").createServer(express);
const io = require("socket.io")(http, {
cors:{
origin: "*"
}
});
const application = express();
application.use(express.static("public"));
PlaceEvaluator.testMethod();
io.on("connection", socket => {
socket.on("placeQuery", async ({topic, lat, long}) => {
PlaceEvaluator.testMethod(); //Here is the Exception function call
//console.log("Response sent!");
})
})
async function findPlaceObject(type, lat, long)
{
let placeObj = await PositionFinder.FetchPosition(type, lat, long);
return placeObj;
}
function convertToPlaceObjArr(inputObj)
{
var outputArr = [];
let name;
let lat;
let long;
for(var i = 0; i < inputObj.results.length; i )
{
name = inputObj.results[i].name;
lat = inputObj.results[i].geometry.location.lat;
long = inputObj.results[i].geometry.location.lng;
outputArr.push(new PlaceObj(name, lat, long));
console.log(inputObj.results[i].name);
}
return outputArr;
}
http.listen(4000, function(){
console.log("Running on Port 4000");
// PositionFinder.FetchPosition("Pizza", "51.896359", "6.982303");
});
uj5u.com熱心網友回復:
您需要用于module.exports匯出默認值而不是exports.module.
通過使用exports.module,您將使用密鑰匯出您的類,module在這種情況下,您必須執行以下操作:
PlaceEvaluator.module.testMethod();
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/422736.html
標籤:
