错误:使用节点命令运行 JS 文件时找不到模块'firebase'



在运行JS文件之前,我已经启动了以下程序:

firebase serve --only functions

在那之后,我尝试使用以下命令运行我的Firebase功能,该命令在几个月前就开始工作了:

node sendEmail.js

但我得到以下错误:

D:Firebaseimtptesting>node sendEmail.js
internal/modules/cjs/loader.js:800
throw err;
^
Error: Cannot find module 'firebase'
Require stack:
- D:FirebaseimtptestingsendEmail.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:797:15)       
at Function.Module._load (internal/modules/cjs/loader.js:690:27)
at Module.require (internal/modules/cjs/loader.js:852:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (D:FirebaseimtptestingsendEmail.js:3:18)
at Module._compile (internal/modules/cjs/loader.js:959:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
at Module.load (internal/modules/cjs/loader.js:815:32)
at Function.Module._load (internal/modules/cjs/loader.js:727:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10) {
code: 'MODULE_NOT_FOUND',
requireStack: [ 'D:\Firebase\imtp\testing\sendEmail.js' ]
}

我尝试过以下几种,但没有成功:

  1. 删除我的functions文件夹中的node_modules文件夹并运行npm i --save firebase-functions
  2. 删除根node_modules文件夹并运行npm install

仅供参考,在我的sendEmail.js中,我确实有以下代码:

(注意:这只是我的函数的调用方。(

"use strict";
// Initialize Function Caller App
const firebase = require("firebase");
// Required for side-effects
require("firebase/functions");
var config = {
// My config info here.
};
firebase.initializeApp(config);
var functions = firebase.functions();
// Prepare data
const contactInfo = {
firstName : "John",
lastName : "Rambo",
email : "rambo@gmail.com",
subject : "Test Nodemailer v2.0",
message : "Hi from sendEmail.js!"
};
// Call Firebase Function
var sendEmail = firebase.functions().httpsCallable('sendEmail');
sendEmail(contactInfo).then(function (result) {
const status = result.data.status;
if (status == true) {
console.log("Email successfully sent!");
} else {
console.log("Failed to send email: " + JSON.stringify(result.data));
}
}).catch(function (error) {
// Getting the Error details.
var code = error.code;
var message = error.message;
var details = error.details;
console.log(details);
});

我可以知道我还应该做什么或检查以修复这个错误吗?如果你需要我的sendEmail.js的更多细节,请告诉我。谢谢

您需要安装firebase模块:

npm i firebase

https://www.npmjs.com/package/firebase

最新更新