# #javascript #node.js #google-cloud-functions #babeljs
#язык JavaScript #node.js #google-облачные функции #babeljs
Вопрос:
Структура
Это моя структура проекта:
/app (The main code of my React app) /assets (assets) /core (js code) /node_modules /functions (Google Cloud Functions (Serverless)) /src /node_modules /utils /lib /services .babelrc.js .eslintrc.js package.json .babelrc.js .eslintrc.js .eslintignore Main.js package.json
Проблема
Я пытаюсь настроить babel и eslint в двух папках:
- В корне моего проекта
- Внутри моих папок функций, код которых будет развернут в Firebase.
Но… Я получаю ошибку:
Ошибка синтаксического анализа: найдено несколько файлов конфигурации. Пожалуйста, удалите один: — .babelrc.js
Как я могу это решить?
Конфигурация
Это конфигурация package.json папки «Мои функции».:
{ "name": "functions", "description": "Cloud Functions", "main": "src/index.js", "scripts": { "lint": "eslint .", "serve": "firebase emulators:start --only functions", "shell": "firebase functions:shell", "start": "npm run shell", "deploy": "firebase deploy --only functions", "logs": "firebase functions:log" }, "engines": { "node": "16" }, "dependencies": { "@google-cloud/vision": "^2.4.0", "@googlemaps/google-maps-services-js": "^3.3.3", "axios": "^0.21.4", "camelcase": "^6.2.1", "expo-server-sdk": "^3.6.0", "firebase-admin": "^9.12.0", "firebase-functions": "^3.16.0", "glob": "^7.2.0", "image-size": "^0.9.7", "moment": "^2.29.1", "qs": "^6.10.1", "sharp": "^0.27.2", "uuid": "^8.3.2" }, "devDependencies": { "@babel/core": "^7.16.0", "@babel/eslint-parser": "^7.16.3", "@babel/preset-env": "^7.16.4", "eslint": "^8.3.0", "eslint-config-airbnb": "^19.0.2", "eslint-config-google": "^0.14.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-import": "^2.25.3", "eslint-plugin-prettier": "^4.0.0", "eslint-plugin-promise": "^4.3.1", "firebase-functions-test": "^0.2.0" }, "private": true }
This is the .babelrc.js configuration of my functions folder:
module.exports = function (api) { api.cache(true); return { presets: [ [ "@babel/preset-env", { targets: { node: "current", }, }, ], ], }; };
И, наконец, вот что это такое .eslintrc.js конфигурация папки «Мои функции»:
module.exports = { plugins: [ "import", "prettier", "promise", ], parser: "@babel/eslint-parser", parserOptions: { sourceType: "module", }, env: { es6: true, node: true, }, extends: [ "eslint:recommended", "airbnb", "prettier", "google", "plugin:import/recommended", ], rules: ..., root: true, };
Комментарии:
1. Из коробки weboack будет использовать root .babelrc. вы можете создать свои собственные функции сборки веб-пакетов, но если кто-то еще будет работать над этим, я думаю, что это было бы плохой идеей, ИМО
Ответ №1:
В соответствии с ошибкой у вас есть несколько конфигураций для babel
, указанных в вашем файле(например package.json
, или .babelrc.js
), размещенном в вашей облачной функции. Вы можете безопасно удалить или удалить .babelrc.js
внутреннюю часть своего /function
каталога и снова развернуть свою функцию.