Я запустил следующее перед запуском моего JS файла:
firebase serve --only functions
После этого я попытался запустить функцию Firebase с помощью следующей команды, которая работала несколько месяцев go:
node sendEmail.js
Но я получаю следующие ошибки:
D:\Firebase\imtp\testing>node sendEmail.js
internal/modules/cjs/loader.js:800
throw err;
^
Error: Cannot find module 'firebase'
Require stack:
- D:\Firebase\imtp\testing\sendEmail.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:\Firebase\imtp\testing\sendEmail.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' ]
}
Я попробовал следующее, но не повезло:
- Удалите папку
node_modules
моего functions
папку и запустите npm i --save firebase-functions
. - Удалите папку root
node_modules
и запустите npm install
.
FYI, в моем 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
. Спасибо!