Я новичок в React JS. Я пытаюсь создать военный файл из приложения React, но застрял где-то внизу. Это дает мне ошибки ниже.
Creating an optimized production build...
Treating warnings as errors because process.env.CI = true.
Most CI servers set it automatically.
Failed to compile.
./src/Home.js
Line 2: 'AppNavbar' is defined but never used no-unused-vars
Line 3: 'Link' is defined but never used no-unused-vars
Line 4: 'Button' is defined but never used no-unused-vars
Line 4: 'Container' is defined but never used no-unused-vars
./src/App.js
Line 5: 'MenuBar' is defined but never used no-unused-vars
Line 6: 'PrivilegeList' is defined but never used no-unused-vars
Line 8: 'logo' is defined but never used no-unused-vars
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `react-scripts build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! D:\ReactJS-workspace\my-app\npm\cache\_logs\2018-10-19T07_44_19_233Z-debug.log
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:36 min
[INFO] Finished at: 2018-10-19T13:14:19+05:30
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.3.2:exec (npm run build (compile)) on project my-app: Command execution failed.: Process exited with an error: 1 (Exit value: 1) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Ниже представлена моя структура папок.
Я хочу установить process.env.CI = false, как установить переменную среды в React JS?
Какой скрипт выполняет CI? Вы можете поделиться сценарием
Самое простое решение - удалить неиспользуемый импорт.
@ Code-Appretice Да, я удалил неиспользуемый импорт, исправлена ошибка, спасибо
Просто CI=false npm run build без изменений.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Создайте файл с именем .eslintrc в корневой папке и добавьте в этот файл следующие правила -
{
"rules": {
"no-unused-vars": "off"
}
}
Это отключит строгую проверку правила eslint no-unused-vars. Вы можете добавить больше правил в этот файл, если хотите их отключить.
Подробнее читайте в руководстве - https://eslint.org/docs/user-guide/configuring.
Привет, Ашивн, он дал мне enoent ENOENT: нет такого файла или каталога, откройте ошибку D: \ ReactJS-workspace \ package.json
Что ты имеешь в виду?
Я поместил .eslintrc в папку D: \ ReactJS-workspace \ my-app, которая является корневой папкой моего приложения, которая дает указанную выше ошибку
Вы получили эту ошибку, как только добавили этот файл, или она возникает при запуске какого-нибудь скрипта, например npm start? Также вы можете проверить пути, оба выглядят по-разному D:\\React-JSWorkspace\my-app 'D:\ReactJS-workspace\package.json
Я добавил файл .eslintrc в корневую папку и запустил "mvn clean install", чтобы создать войну, это дало мне ошибку выше
Я думаю, что что-то не так на вашем пути, можете ли вы убедиться, что файл .eslintrc находится в той же папке, где находится package.json
Позвольте нам продолжить обсуждение в чате.
проверьте этот пакет dotenv,
создайте новый файл .env в вашем рабочем каталоге
установить dotenv с помощью npm install dotenv
добавьте это в свое приложение require('dotenv').config()
в этом файле напишите process.env.CI = false
добавьте .env к вашему .gitignore [при использовании git]
перезапустите ваше приложение.
ИЛИ запустите этот CI=false npm run build
Нужно ли мне добавлять require ('dotenv'). Config () в каждый файл js ..?
Вы хотите сказать, что App.js правильно ...! а также около 5-го пункта в разделе #misc, я должен добавить .env ..?
да, App.js, а пятая точка - если вы используете git, в противном случае игнорируйте его
Не устраняет эту ошибку, указанную выше, по-прежнему появляется такая же ошибка
запустите этот CI=false npm run build один раз
будут ли эти переменные env доступны в файле index.html, если они доступны, то как мне получить к ним доступ и выполнить некоторый код в тегах сценария? пожалуйста, ответь мне.
Похоже, вам нужно, чтобы ваше приложение имело доступ к переменным process.env.
Для этого у вас есть несколько вариантов (один из которых включает использование сторонней библиотеки, указанной выше, что является хорошим вариантом, но выполняет несколько задач).
1) Задайте переменные среды в вашей команде запуска, например: CI=travis npm start. В этом случае у вас будет доступ к process.env.CI в вашем приложении.
2) Установите переменную окружения в вашем, вы знаете, окружении. Если вы используете Mac или Linux, просто добавьте переменную среды, как обычно, если ваша оболочка будет экспортировать. Проверить с echo $VAR
3) Вручную сделайте что-нибудь глупое в своем приложении для записи в глобальные переменные. Наверное, не беспокойтесь.
4) Просто используйте .dotenv. То, что он делает, на самом деле несложно, но он предлагает решение, которое практически необходимо для большинства проектов по нескольким причинам.
Чтобы установить его для выполнения текущего процесса, просто отредактируйте файл package.json и измените сценарий "build" следующим образом:
"scripts": {
"start": "react-scripts start",
"build": "set \"CI=false\" && react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject" }
Это установит для переменной среды CI значение «false». Теперь вы можете выполнить команду сборки с установленной переменной CI:
npm run build
У меня не сработало, я использую Travis CI, он показывает мне, Treating warnings as errors because process.env.CI = true. Most CI servers set it automatically.
@AshishKamble вы нашли решение?
@TeddyKossoko Не совсем, извините
@AshishKamble Попробуйте CI=false npm run build
Заголовок вашего вопроса сильно отличается от того, что происходит в описании.
Чтобы использовать переменные среды в React, они должны иметь префикс REACT_APP_.
Например, приложение React уловит следующее:
REACT_APP_API_URL=/api
В то время как это не будет:
API_URL=/api
Для получения дополнительной информации см. Официальную документацию:
Я пришел к этому вопросу, когда искал интеграцию с Bitbucket Pipelines.
Для всех, кто ищет то же самое, вы можете добавить CI как false в Settings/Repository Variables для своего репо (если вы не хотите, чтобы он был частью вашего кода, контролируемого версиями).
Если вы хотите добавить его для всех ваших репозиториев в битбакете, вы должны добавить его в свои глобальные настройки, но, вероятно, лучше всего добавить его на основе репо за репо.
"scripts": {
"start": "react-scripts start",
"build": "CI=false react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
Попробуйте это ... Это установит для CI значение false
У меня была аналогичная проблема при работе с React и Azure Static Web App CI / CD и "build": "CI = false response-scripts build", у меня это работает, развертывание завершено :)
Вы должны создать файл .env в корневом каталоге и определить переменную в этом файле. Пожалуйста, убедитесь, что каждый варибал начинается с REACT_APP_, как REACT_APP_IS_PROD=1
Вам необходимо перезапускать сервер каждый раз, когда вы меняете или создаете новую переменную.
Создайте файл .env или еще .env.dev, .env.qa, .env.stg ... и т. д.
Добавьте в этот файл следующую строку
CI=false
если вы еще не установили env-cmd, сначала установите его и включите в package.json
Затем добавьте следующие строки в «скрипты» package.json.
"scripts": {
"start": "env-cmd -f .env.dev react-scripts start",
"build": "react-scripts build",
"build:dev": "env-cmd -f .env.dev npm run-script build",
"build:qa": "env-cmd -f .env.qa npm run-script build",
"build:stg": "env-cmd -f .env.stg npm run-script build",
"build:prod": "env-cmd -f .env.prod npm run-script build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
Затем выполните сборку с помощью "npm run build: dev" или соответствующей команды.
Для Windows
установить REACT_APP_ENV = разработка && запуск сценариев реакции
Для Linux, Ubuntu, macOs
REACT_APP_ENV = запуск сценариев реакции разработки
Вы можете установить переменные среды в файле .env
Вот шаги
создать файл с именем .env в корневой папке проекта
Теперь, когда вы добавляете переменную, вам нужно добавить префикс REACT_APP например: вы хотите добавить переменную API_URL для своего API. Поэтому вам нужно добавить переменную с префиксом RECT_APP, как показано ниже.
REACT_APP_API_URL
Остановите свой работающий сервер и перезапустите, используя npm start
Чтобы получить доступ к переменной env, вы должны вызвать: process.env.REACT_APP_API_URL
Ну вот. Теперь вы можете получить доступ к переменной env
Примечание:
Что ж, я думаю, для этого вам просто нужно отключить задачу, которая выполняет шаг eslint или jshint.