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)