Javascript 试图使用类来保持代码干净-不起作用
我一直在犯这个错误,我完全不知道该怎么办:Javascript 试图使用类来保持代码干净-不起作用,javascript,class,google-cloud-firestore,google-cloud-functions,Javascript,Class,Google Cloud Firestore,Google Cloud Functions,我一直在犯这个错误,我完全不知道该怎么办: TypeError: Visas.list is not a function at /Users/name/Sites/chatbot/functions/index.js:72:28 我遗漏了什么吗?我尝试在我的package.json中添加带有type:method的导入,但它在我身上爆炸了-只允许我使用require index.js const Visas = require("./src/controllers/visas"); con
TypeError: Visas.list is not a function
at /Users/name/Sites/chatbot/functions/index.js:72:28
我遗漏了什么吗?我尝试在我的package.json中添加带有type:method
的导入,但它在我身上爆炸了-只允许我使用require
index.js
const Visas = require("./src/controllers/visas");
const admin = require('firebase-admin');
const functions = require('firebase-functions');
const database = admin.firestore();
exports.visas = functions.https.onRequest((req,res) => {
switch (req.method) {
case 'GET':
res.send(Visas.list());
break;
case 'PUT':
res.status(403).send('Forbidden!');
break;
default:
res.status(405).send({error: 'Something blew up!'});
break;
}
});
class Visas {
static list() {
let requirementsData = database.collection('requirements');
const travelData = requirementsData.doc(req.params.country);
travelData.get()
.then(doc => {
if (!doc.exists) {
return res.status(404).send("Can't find a record for this country.");
} else {
const docData = doc.data(),
visas = docData.visas;
return res.send(visas);
}
})
.catch(err => {
return res.send('Error getting document' + err);
});
}
}
visas.js
const Visas = require("./src/controllers/visas");
const admin = require('firebase-admin');
const functions = require('firebase-functions');
const database = admin.firestore();
exports.visas = functions.https.onRequest((req,res) => {
switch (req.method) {
case 'GET':
res.send(Visas.list());
break;
case 'PUT':
res.status(403).send('Forbidden!');
break;
default:
res.status(405).send({error: 'Something blew up!'});
break;
}
});
class Visas {
static list() {
let requirementsData = database.collection('requirements');
const travelData = requirementsData.doc(req.params.country);
travelData.get()
.then(doc => {
if (!doc.exists) {
return res.status(404).send("Can't find a record for this country.");
} else {
const docData = doc.data(),
visas = docData.visas;
return res.send(visas);
}
})
.catch(err => {
return res.send('Error getting document' + err);
});
}
}
如果您在需要后想要使用它,您需要从Visas.js导出
Visas
。nodejs使用commonjs模块语法。将以下内容添加到visas.js的末尾:
module.exports = Visas
如果您在需要后想要使用它,您需要从Visas.js导出
Visas
。nodejs使用commonjs模块语法。将以下内容添加到visas.js的末尾:
module.exports = Visas
在index.js或visa.js中编辑答案在index.js或visa.js中编辑答案