簡體   English   中英

Babel Javascript 錯誤 - 找到多個配置文件

[英]Babel Javascript Error - Multiple configuration files found

結構

這是我的項目結構:

/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:

  1. 在我項目的根目錄中
  2. 在我的函數文件夾中,哪些代碼將部署到 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
}

這是我的函數文件夾的.babelrc.js 配置:

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,
};

您有多個babel配置,在您的應用程序中放置的文件(如package.json )中說明。 刪除或刪除/function目錄中的.babelrc.js並再次部署 function。

不用擔心。 你添加到你的項目中:

yarn add --save-dev eslint-plugin-import eslint-import-resolver-babel-module

在 your.eslintrc 文件中,將此解析器傳遞給 eslint-plugin-import:

   {
      "extends": "bable",
      "rules": {
        "comma-dangle": 0
      },
      "settings": {
        "import/resolver": {
          "babel-module": {allowExistingDirectories: true}
        }
      }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM