gpt4 book ai didi

firebase - Google Firestore - 无法加载部署错误 : Function load error: Code in file index. js

转载 作者:行者123 更新时间:2023-12-02 21:44:55 26 4
gpt4 key购买 nike

我正在尝试将我的函数部署到 firebase,但收到以下错误:

函数加载错误:无法加载文件index.js中的代码。您是否在 package.json 依赖项中列出了所有必需的模块?

Detailed stack trace: Error: Cannot find module 'express'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object. (/user_code/index.js:6:15)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)

Firebase:

"firebase-admin": "~5.8.1"

"firebase-functions": "^0.8.1"

这个问题已经在这里提出:https://github.com/firebase/firebase-tools/issues/515 (但对于“firebase-admin”模块)

根据那里的输入,我尝试这样做:npm install --save-exact firebase-functions@0.7.0 npm install --save-exact firebase-admin@5.4.0。但我遇到了以下错误:

错误:解析函数触发器时发生错误。请在函数文件夹中运行“npm i --save firebase-functions@latest”,确保您拥有最新的 firebase-functions SDK。

Node version, v8.4.0.

索引.js

const functions = require('firebase-functions'); 
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
var express = require('express');
var bodyParser = require('body-parser');

const users = require('../functions/controllers/users.controller');
var app = express();
app.use(bodyParser.urlencoded({ extended: true }))
app.use(bodyParser.json());
app.post('/users', users.createUsers);
exports.myappusers = functions.https.onRequest(app);

用户.controller.js

const admin = require('firebase-admin');
const db = admin.firestore();

exports.createUsers = function(req, res){
if(!req.body.name){
return res.status(404).send({message: 'User name cannot be empty'})
}
else{
db.collection('user-test')
.add({
name: req.body.name
})
.then((writeResult) => {
return res.json({ result: `User ID: ${writeResult.id} added.`});
})
.catch((err)=>{
return res.status(500).send(err);
})
}
}

最佳答案

在花了一天的时间之后,我做了显而易见的事情。我安装了 Express 并进行了部署,但这次我遇到了与 body-parser 相同的错误,_Error: Cannot find module 'body-parser'_还安装了主体解析器。再次部署,瞧!部署成功。

但我不太确定为什么我必须显式安装它们,即使 expressbody-parser 模块都存在于 node-modules 中 文件夹。

摘要:

npm install --save --save-exact express@4.16.2    
npm install --save --save-exact body-parser@1.18.2
firebase deploy --only functions

关于firebase - Google Firestore - 无法加载部署错误 : Function load error: Code in file index. js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48658487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com