【发布时间】: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:
- 在我的项目的根目录中
- 在我的函数文件夹中,哪些代码将部署到 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