Я только что использовал приложение create-response-app, чтобы запустить новое приложение для реагирования на машинописный текст, а затем установил firebase. Я запустил firebase init
, выбрал опцию машинописного текста, включил es lint и включил функции.
Как только я раскомментировал код стандартной функции в functions / index.ts, я заметил некоторые предупреждения в VS Code …
функции / eslintrc.js:
Ошибка выдачи: Ошибка синтаксического анализа: parserOptions.project был установлен для @ typescript-eslint / parser. Файл не соответствует конфигурации вашего проекта: .eslintrc.js. Файл должен быть включен хотя бы в один из предоставленных проектов
функции / tsconfig.json:
функции / SRC / index.ts:
дает ошибку: Ошибка синтаксического анализа: аргумент для параметра ‘—jsx’ должен быть: ‘preserve’, ‘react-native’, ‘react’.eslint
функции / package.json:
{
"name": "functions",
"scripts": {
"lint": "eslint --ext .js,.ts .",
"build": "tsc",
"serve": "npm run build && firebase emulators:start --only functions",
"shell": "npm run build && firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"engines": {
"node": "14"
},
"main": "lib/index.js",
"dependencies": {
"firebase-admin": "^9.8.0",
"firebase-functions": "^3.14.1"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^3.9.1",
"@typescript-eslint/parser": "^3.8.0",
"eslint": "^7.6.0",
"eslint-config-google": "^0.14.0",
"eslint-plugin-import": "^2.22.0",
"firebase-functions-test": "^0.2.0",
"typescript": "^3.8.0"
},
"private": true
}
Я не понимаю этих ошибок. Может кто-нибудь помочь?
Спасибо
Первая ошибка TypeScript ESLint связана с невозможностью найти проект
tsconfig.json
, соответствующий вашим функциям.Чтобы исправить это, нам нужно сообщить TypeScript ESLint, где находится другой
tsconfig.json
, отредактировав вашparserOptions
..eslintrc.js
Чтобы исправить проблему синтаксического анализа JSX для ваших файлов React, вы должны добавить
jsx
параметр компилятора к вашимtsconfig.json
конфигурациям, которые включают JSX. Скорее всего, это будет ваша нефункциональная конфигурация, и вам, скорее всего, потребуется установить для нее значениеreact-jsx
для React v17 + илиreact
во всех остальных случаях для приложения Create React.tsconfig.json
Как это помогает в решении проблемы? Я пробовал это, но у меня все еще та же проблема внутри моей папки functions / src. Было бы здорово узнать, какие настройки в
functions/tsconfig.json
и какие настройки вfunctions/.eslintrc.js
должны быть выполнены. Мне кажется, что проблема связана с некоторой проблемой vscode, посколькуnpm --prefix \"$RESOURCE_DIR\" run lint
работает должным образом с файлом.eslintrc.js
, сгенерированным firebase. — person NewbG; 16.07.2021Он исправляет проблемы оригинального плаката, сообщая парсеру TypeScript ESLint использовать два разных tsconfigs, а tsconfg, соответствующий исходному тексту React, включает флаг jsx. Что касается других ваших пробелов в применении моего ответа к вашей настройке, они варьируются, поэтому я не могу сказать, какой должна быть ваша вся конфигурация. Возможно, стоит отметить, что мой ответ включает необходимые изменения в файлы, опубликованные в вопросе. — person NewbG; 18.07.2021