【发布时间】:2019-11-28 22:37:36
【问题描述】:
我一直在尝试可调用函数以避免手动处理 cors,但到目前为止没有任何效果
我读过类似的问题Firebase Callable Function + CORS
不同之处在于这家伙有“没有访问控制允许来源”的问题。我的是对预检...问题的回应
我想请求指导的人。好郁闷啊。。
我正在使用 Blaze 计划
到目前为止,我一直在尝试仅在本地运行这些功能。我根本没有部署该功能。
这是我的功能代码
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.createOrder = functions.https.onCall((data, context) => {
return new Promise((resolve, reject) => {
resolve(data)
.then(result => {
return result;
})
.catch(err => {
console.error(err.code);
throw new functions.https.HttpsError('unknown', err.message);
});
});
}); 这是我的客户代码
export const createOrder = order => {
functions
.httpsCallable('createOrder')({ data: order })
.then(result => {
console.log('result create order is', result);
return result;
});
};
函数包.json
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"serve": "firebase serve --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"dependencies": {
"@sendgrid/mail": "^6.4.0",
"axios": "^0.19.0",
"cors": "^2.8.5",
"firebase": "^6.3.1",
"firebase-admin": "^8.2.0",
"firebase-functions": "^3.1.0",
"firebase-functions-test": "^0.1.6"
},
"engines": {
"node": "8"
},
"private": true
}
firebase config.json
"firebase": {
"apiKey": "AIzaSy*****",
"authDomain": "jokii-test.firebaseapp.com",
"databaseURL": "https://jokii-test.firebaseio.com",
"projectId": "jokii-test",
"storageBucket": "jokii-test.appspot.com",
"messagingSenderId": "104544.....",
"appId": "1:10454485....."
}
Firebase SDK = "firebase": "^6.3.1",
【问题讨论】:
-
部署后功能是否有效?曾经有过类似的问题,现在我测试我部署的功能。如果有人知道解决方案会很好,但目前这可能会帮助您继续处理您的项目。
-
@Sebe 一旦我部署了函数@@,它就起作用了
标签: firebase google-cloud-functions firebase-hosting