Я сталкиваюсь со странной проблемой после обновления версий nodejs и npm, когда пытаюсь обслуживать функции firebase локально (после развертывания все работает отлично).
подробности:
Когда я пытаюсь отправить запрос на установку и / или удаление из приложения angular6 на fireabse, который обслуживается локально, возникает ошибка консоли:
Доступ к XMLHttpRequest по адресу
«http://localhost:5000/PROJECT-NAME/us-central1/helloWorld'
из источника 'http://localhost:4200' заблокирован политикой CORS:
Метод PUT не разрешен Access-Control-Allow-Methods в предварительной проверке
ответ.
Но в случае запроса post / get все идет хорошо
Версии:
NodeJS: 10.15.3
NPM : 6.4.1
firebase : 6.9.1
OS: macOS Mojave (10.14.4)
Я использую CORS на сервере;
const cors = require('cors')({ origin: true });
exports.helloWorld = functions.https.onRequest((req, res) => {
cors(req, res, () => {
res.send({message: "Hello from Firebase!"});
})
});
и вот мой файл package.json
{
"name": "functions",
"scripts": {
"lint": "tslint --project tsconfig.json",
"build": "tsc --skipLibCheck",
"serve": "npm run build && firebase serve --only functions",
"shell": "npm run build && firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"main": "lib/index.js",
"dependencies": {
"@google-cloud/firestore": "^0.18.0",
"@sendgrid/mail": "^6.3.1",
"axios": "^0.18.0",
"core-util-is": "^1.0.2",
"cors": "^2.8.5",
"express": "^4.16.4",
"fetch-base64": "^2.1.2",
"firebase-admin": "^7.3.0",
"firebase-functions": "^2.3.1",
"image-to-base64": "^2.0.1",
"request": "^2.88.0",
"request-promise": "^4.2.2",
"string-similarity": "^3.0.0",
"stripe": "^6.26.1",
"twilio": "^3.29.1"
},
"devDependencies": {
"firebase-functions-test": "^0.1.6",
"tslint": "~5.8.0",
"typescript": "^3.3.3"
},
"private": true,
"engines": {
"node": "10"
}
}
вот скриншот результата сервера