Я пытаюсь развернуть функции Firebase, и у меня действительно очень много проблем.
Когда я пытаюсь развернуть приложение в базе данных, я получаю сообщение об ошибке типа:
i deploying functions, hosting
i functions: ensuring necessary APIs are enabled...
✔ functions: all necessary APIs are enabled
i functions: preparing functions directory for uploading...
i functions: packaged functions (56.91 KB) for uploading
✔ functions: functions folder uploaded successfully
i hosting: preparing dev directory for upload...
✔ hosting: 4 files uploaded successfully
i functions: updating function main...
⚠ functions[main]: Deployment error.
Function load error: Code in file index.js can't be loaded.
Did you list all required modules in the package.json dependencies?
Detailed stack trace: Error: Cannot find module '@babel/runtime/helpers/builtin/interopRequireDefault'
at Function.Module._resolveFilename (module.js:476:15)
at Function.Module._load (module.js:424:25)
at Module.require (module.js:504:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/user_code/node_modules/@material-ui/icons/ExpandMore.js:3:30)
at Module._compile (module.js:577:32)
at Object.Module._extensions..js (module.js:586:10)
at Module.load (module.js:494:32)
at tryModuleLoad (module.js:453:12)
at Function.Module._load (module.js:445:3)
Когда я перехожу на @babel/runtime/helpers/builtin/interopRequireDefault
, файл присутствует в папке functions
.
Я использую material-ui
вместе с реагированием.
И ошибка отображается только при попытке использовать material-ui
, как указано в журнале ошибок.
package.json внутренние функции:
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"lint": "eslint .",
"serve": "firebase serve --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"dependencies": {
"@material-ui/core": "^1.3.0",
"@material-ui/icons": "^1.1.0",
"express": "^4.16.3",
"firebase-admin": "^5.12.1",
"firebase-functions": "^1.1.0",
"react": "^16.4.1",
"react-dom": "^16.4.1"
},
"devDependencies": {
"eslint": "^4.12.0",
"eslint-plugin-promise": "^3.6.0"
},
"private": true
}
package.json в корневой папке проекта:
{
"name": "Cards",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"babel": "babel src -d functions/src && babel index.js -d functions"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@material-ui/core": "^1.3.0",
"@material-ui/icons": "^1.1.0",
"firebase": "^5.2.0",
"react": "^16.4.1",
"react-dom": "^16.4.1"
},
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-core": "^6.26.3",
"babel-loader": "^7.1.4",
"babel-preset-env": "^1.7.0",
"babel-preset-react": "^6.24.1",
"firebase-admin": "^5.12.1",
"firebase-functions": "^1.1.0",
"firebase-tools": "^3.19.1",
"webpack": "^4.14.0",
"webpack-dev-server": "^3.1.4"
}
}
Когда я заканчиваю писать код, я запускаю npm run babel
, чтобы преобразовать код и поместить его в папку функций. Тогда я бегу firebase deploy
.
Итак, что вызывает эту ошибку?