【问题标题】:Babel Javascript Error - Multiple configuration files foundBabel Javascript 错误 - 找到多个配置文件
【发布时间】:2022-01-10 10:08:06
【问题描述】:

结构

这是我的项目结构:

/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

我该如何解决?

配置

这是我的functions文件夹的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,
};

【问题讨论】:

  • 开箱即用的 weboack 将使用根 .babelrc。您可以创建自己的 webpack 构建功能,但如果其他人要为此工作,我认为这将是一个坏主意 IMO

标签: javascript node.js google-cloud-functions babeljs


【解决方案1】:

根据错误,您有多个babel 配置,在您放置在云函数中的文件(如package.json.babelrc.js)中说明。您可以安全地移除或删除/function 目录中的.babelrc.js,然后再次部署您的函数。

【讨论】:

    猜你喜欢
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 2019-02-20
    • 2013-05-29
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多