Я использую firebase-admin для получения данных и использую Netlify лямбда-функции для вызова службы. Это в основном все.
Вот мой код:
exports.handler = (event, context, callback) => {
const { id = "toronto" } = event.queryStringParameters;
const cityRefs = dbInstance.collection("cities");
console.info("req.params.id", id);
if (id === "mumbai") {
console.info("in here", id);
let cityRef = cityRefs.doc("id1");
return cityRef
.get()
.then(doc => {
if (!doc.exists) {
console.info("No such document!");
} else {
console.info("Document data:", doc.data());
callback(null, {
statusCode: 200,
body: doc.data()
});
}
})
.catch(err => {
console.info("Error getting document", err);
callback(err);
});
}
}
Я продолжаю получать ошибку ниже. Я не совсем уверен, что делаю неправильно.
Function invocation failed: TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type number
Я вижу журнал консоли in here, но сразу после этого возникает ошибка
Вы можете попробовать завернуть doc.data() в JSON.stringify(). Вы также можете получить больше ответов (и много друзей) в сообществе Netlify! community.netlify.com/c/netlify-платформа/функции





Я понял. Причина, по которой это не сработало, заключается в том, что firebase-admin был в комплекте. Поэтому я использовал https://www.npmjs.com/package/webpack-node-externals для связывания firebase-admin. Я добавил это в webpack.functions.js:
const nodeExternals = require("webpack-node-externals");
module.exports = {
externals: [nodeExternals()]
};
и я запускаю функцию netlifylambda с помощью следующей команды:
"start:lambda": "netlify-lambda serve src/functions --config ./webpack.functions.js"
при использовании внешнего получил эту ошибку «SyntaxError: невозможно использовать оператор импорта вне модуля»
Какая строка в коде, которым вы поделились, вызывает эту ошибку?