部署Firebase Functions/Hosting时遭遇未使用变量错误
解决Firebase部署时的未使用变量错误
问题重现
执行firebase deploy时出现以下ESLint错误:
10:8 error 'onRequest' is assigned a value but never used no-unused-vars 11:7 error 'logger' is assigned a value but never used no-unused-vars
随后触发预部署失败:
functions predeploy error: Command terminated with non-zero exit code 1
问题出在Functions目录下的index.js文件,当前内容为:
/** * Import function triggers from their respective submodules: * * const {onCall} = require("firebase-functions/v2/https"); * const {onDocumentWritten} = require("firebase-functions/v2/firestore"); * * See a full list of supported triggers at https://firebase.google.com/docs/functions */ const {onRequest} = require("firebase-functions/v2/https"); const logger = require("firebase-functions/logger"); // Create and deploy your first functions // https://firebase.google.com/docs/functions/get-started // exports.helloWorld = onRequest((request, response) => { // logger.info("Hello logs!", {structuredData: true}); // response.send("Hello from Firebase!"); // });
修复方案
方案1:启用示例云函数(推荐)
把文件中被注释的示例函数取消注释,让onRequest和logger被正常调用,修改后的index.js如下:
/** * Import function triggers from their respective submodules: * * const {onCall} = require("firebase-functions/v2/https"); * const {onDocumentWritten} = require("firebase-functions/v2/firestore"); * * See a full list of supported triggers at https://firebase.google.com/docs/functions */ const {onRequest} = require("firebase-functions/v2/https"); const logger = require("firebase-functions/logger"); // Create and deploy your first functions // https://firebase.google.com/docs/functions/get-started exports.helloWorld = onRequest((request, response) => { logger.info("Hello logs!", {structuredData: true}); response.send("Hello from Firebase!"); });
方案2:删除未使用的导入(如果不需要云函数)
如果你的项目完全不需要Cloud Functions功能,直接删掉那两行未使用的导入代码,修改后的index.js如下:
/** * Import function triggers from their respective submodules: * * const {onCall} = require("firebase-functions/v2/https"); * const {onDocumentWritten} = require("firebase-functions/v2/firestore"); * * See a full list of supported triggers at https://firebase.google.com/docs/functions */ // Create and deploy your first functions // https://firebase.google.com/docs/functions/get-started // exports.helloWorld = onRequest((request, response) => { // logger.info("Hello logs!", {structuredData: true}); // response.send("Hello from Firebase!"); // });
修改完成后,重新执行firebase deploy即可完成部署。
内容的提问来源于stack exchange,提问作者Kacper
相关产品推荐
相关产品推荐

