错误:使用节点命令运行 JS 文件时找不到模块“firebase”
Posted
技术标签:
【中文标题】错误:使用节点命令运行 JS 文件时找不到模块“firebase”【英文标题】:Error: Cannot find module 'firebase' when running JS file with node command 【发布时间】:2020-04-14 08:39:58 【问题描述】:在运行我的 JS 文件之前,我已经启动了以下操作:
firebase serve --only functions
之后,我尝试使用以下命令运行我的 Firebase 函数,该命令在几个月前就可以使用:
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' ]
我尝试了以下方法,但没有成功:
-
删除我的
functions
文件夹的node_modules
文件夹并运行npm i --save firebase-functions
。
删除根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
的更多详细信息,请告诉我。谢谢!
【问题讨论】:
您能分享您的整个 Cloud Functions 代码吗? 【参考方案1】:您需要安装 firebase 模块:
npm i firebase
https://www.npmjs.com/package/firebase
【讨论】:
你根据问题安装了npm i --save firebase-functions
.. 在package.json
中你看到firebase
模块吗?
是的,在dependencies
、"firebase": "^5.10.0"
下。事实上,我也再次运行npm install -g firebase-tools
,但还是一样。我还需要将它安装在testing
文件夹下吗?我认为我的 Firebase 应该是全局?以上是关于错误:使用节点命令运行 JS 文件时找不到模块“firebase”的主要内容,如果未能解决你的问题,请参考以下文章
面临错误:在运行 Node Js 服务器时找不到模块“C:\Users\DELL\Desktop\node js 程序\文件”
错误:使用 Ionic 时找不到模块“../lib/utils/unsupported.js”