Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法导出多个云函数_Javascript_Reactjs_Firebase_Google Cloud Functions - Fatal编程技术网

Javascript 无法导出多个云函数

Javascript 无法导出多个云函数,javascript,reactjs,firebase,google-cloud-functions,Javascript,Reactjs,Firebase,Google Cloud Functions,我正在使用所描述的组织结构。我有以下函数/文件夹: 我的index.js文件如下: const glob = require('glob') const camelCase = require('camelcase') const FUNCTIONS_FOLDER = './src' const files = glob.sync('./src/**/*.func.js', { cwd: __dirname, ignore: './node_modules/**' }) c

我正在使用所描述的组织结构。我有以下
函数/
文件夹:

我的
index.js
文件如下:

const glob = require('glob')
const camelCase = require('camelcase')
const FUNCTIONS_FOLDER = './src'

const files = glob.sync('./src/**/*.func.js', {
    cwd: __dirname,
    ignore: './node_modules/**'
})

console.log('FILE LENGTH: ', files.length)

for (let f = 0, fl = files.length; f < fl; f++) {
    const file = files[f]
    console.log('FILE: ', file)

    const functionName = camelCase(
        file
            .slice(5, -8)
            .split('/')
            .join('_')
    ) // Strip off '.func.js' and 'src/'
    console.log('FUNCTION - PRE: ', functionName)
    console.log('ENV ', process.env.FUNCTION_NAME)
    if (
        !process.env.FUNCTION_NAME ||
        process.env.FUNCTION_NAME === functionName
    ) {
        console.log('FUNCTION: ', functionName, file)
        exports[functionName] = require(file)
    }
}
我的
onWrite.func.js
仍未部署

我做错什么了吗?我将非常感谢任何帮助

编辑:这是我的全部功能/目录:


您在问题中发布的代码没有问题。问题出现在
*.func.js
文件中。这就是罪魁祸首:

试试看{
admin.initializeApp(functions.config().firebase)
}捕捉(错误){
return err//看起来您应该删除此行
}
当您
require
时,第二个文件
admin.initializeApp()
将失败

错误:默认Firebase应用程序已存在。这意味着您多次调用initializeApp(),但没有提供应用程序名称作为第二个参数。在大多数情况下,只需调用initializeApp()一次。但是,如果确实要初始化多个应用程序,请将第二个参数传递给initializeApp(),为每个应用程序指定一个唯一的名称

然后退出第二个模块,而不分配到
导出

如果删除
returnerr
,则在
index.js:exports
中有两个导出函数


我不知道代码的其余部分,但这应该可以解决问题。

最好将github链接到一个最小的可复制版本example@x00我链接了我的函数目录,希望能有所帮助
if (!process.env.FUNCTION_NAME || process.env.FUNCTION_NAME === functionName)