- Все, что вам нужно знать о react-scripts
- Что такое сценарий?
- start
- build
- eject
- Вывод
- Полная видимость в производственных приложениях React
- «yarn run eject» ejected succcessfully, but followed by «The batch file cannot be found.» #2030
- Comments
- phoa commented Apr 25, 2017
- Can you reproduce the problem with latest npm?
- Description
- Expected behavior
- Actual behavior
- Environment
- gaearon commented May 1, 2017
- phoa commented May 2, 2017
- gaearon commented May 9, 2017
- viankakrisna commented May 9, 2017
- phoa commented May 12, 2017
- jasenf commented May 19, 2017
- ro-savage commented May 29, 2017
- jazzfog commented Jun 19, 2017
- cheryllium commented Jun 19, 2017
- KarandikarMihir commented Jun 23, 2017
- gaearon commented Jun 23, 2017
- gaearon commented Jun 26, 2017
- phoa commented Jun 27, 2017
- tchojnacki commented Jun 27, 2017
Все, что вам нужно знать о react-scripts
В прошлом создание приложения React было болезненным процессом. Вам пришлось пройти через множество настроек, прежде чем вы могли запачкать руки и развить что-то осмысленное.
К счастью, сегодня у нас есть Create React App , удобный модуль, который поставляется с выдающейся конфигурацией, и команда сценариев, которая значительно упрощает создание приложений React.
В этом руководстве мы дадим обзор react-scripts , сравним несколько различных типов сценариев и опишем, насколько create-react-app существенно упрощает процесс разработки React.
Что такое сценарий?
В программировании сценарий — это в основном список инструкций, которые диктуют другой программе, что делать. Реакция не является исключением; у него есть сценарии, чтобы делать вещи.
create-react-app поставляется с четырьмя основными сценариями, каждый из которых мы рассмотрим позже. Но сейчас мы сосредоточимся на том, где найти эти скрипты.
В приложениях React сценарии находятся в файле package.json . В этом файле есть несколько скриптов по умолчанию, но их все еще можно редактировать.
Как видите, свежее приложение React поставляется с четырьмя сценариями, которые используют пакет react-scripts .
Теперь, когда мы знаем, что такое скрипт и где его найти, давайте углубимся в каждый из них и объясним, что он делает с приложением React.
start
React использует Node.js при разработке, чтобы открыть приложение на http://localhost:3000 , поэтому скрипт start позволяет запустить сервер.
Вы можете запустить команду сценария start на терминал с помощью npm или yarn .
Или, если вы используете npm:
Эта команда не только запускает сервер, но также реагирует и отображает последнюю версию при каждом изменении. Кроме того, он покажет ошибки lint на терминале (консоли), когда он не сможет запустить сервер в виде значимых сообщений об ошибках.
create-react-app использует Jest в качестве тестов. Скрипт test позволяет запускать тест в интерактивном режиме просмотра. Я не буду слишком глубоко погружаться в тестирование приложений React , но имейте в виду , что любой файл с .test.js или .spec.js расширений будет выполняться при запуске скрипта.
Сценарий test может быть запущен на терминале с помощью следующих команд.
build
React является модульным, поэтому вы можете создавать несколько файлов или компонентов, если хотите. Эти отдельные файлы должны быть объединены или объединены, чтобы быть точными в одном файле.
Это одно из главных преимуществ сценария build . Другой-это производительность; как вы знаете, режим разработки не оптимизирован. А React использует сценарий build для обеспечения того, чтобы готовый проект был объединен, минимизирован и оптимизирован с учетом передового опыта.
Сценарий можно запустить с помощью следующих команд.
Есть несколько дополнительных опций, которые можно передать скрипту. Посмотрите документы для более глубокого погружения о том, как улучшить ваш сценарий build .
eject
Документация create-react-app характеризует этот сценарий как «однополосная операция» и предупреждает , что «после извлечения, вы не можете вернуться!»
create-react-app поставляется с отличной конфигурацией и помогает создавать приложение React с учетом передовых методов его оптимизации. Однако запуск сценария eject удалит единственную зависимость сборки из вашего проекта. Это означает, что он скопирует файлы конфигурации и транзитивные зависимости (например, Webpack, Babel и т. д.) как зависимости в файле package.json . Если вы сделаете это, вы должны будете убедиться, что зависимости установлены перед созданием вашего проекта.
После запуска команды eject невозможно будет запустить ее снова, так как будут доступны все сценарии, кроме одного eject . Используйте эту команду, только если вам нужно. В противном случае придерживайтесь конфигурации по умолчанию. Во всяком случае, так будет лучше.
Чтобы запустить команду на терминале, введите следующую команду.
Вывод
Я надеюсь, что это руководство пролило некоторый свет на удивительную конфигурацию приложения Create React. Он поставляется не только с полезными сценариями, которые могут помочь облегчить жизнь любому разработчику, но и с некоторыми командами, имеющими гибкие параметры, которые позволяют адаптировать сценарии к уникальным потребностям вашего проекта.
Полная видимость в производственных приложениях React
LogRocket похож на видеорегистратор для веб-приложений, записывая буквально все, что происходит в вашем приложении React. Вместо того, чтобы гадать, почему возникают проблемы, вы можете агрегировать и сообщать, в каком состоянии было ваше приложение, когда возникла проблема. LogRocket также отслеживает производительность вашего приложения, предоставляя отчеты с такими показателями, как загрузка ЦП клиента, использование памяти клиента и т. д.
Промежуточный пакет LogRocket Redux добавляет дополнительный уровень видимости в ваши пользовательские сессии. LogRocket записывает все действия и состояние из ваших магазинов Redux.
Источник
«yarn run eject» ejected succcessfully, but followed by «The batch file cannot be found.» #2030
Comments
phoa commented Apr 25, 2017
Can you reproduce the problem with latest npm?
Description
I started a fresh project with create-react-app . yarn start and yarn run build runs as expected. However, when running yarn run eject , it shows Ejected successfully!, but followed by
I also tried npm run eject where it shows more error message:
Should I worry about this?
yarn start and yarn run build still run fine after eject tho.
Expected behavior
No error message after Ejected successfully!
Actual behavior
Got error message after Ejected successfully!
Environment
npm ls react-scripts (if you haven’t ejected): react-scripts@0.9.5
Operating system: Windows 7 (behind corporate firewall)
Browser and version: Chrome 53.0.2785.116
The text was updated successfully, but these errors were encountered:
gaearon commented May 1, 2017
Can you share this “complete log”?
phoa commented May 2, 2017
yeap, here it is.
gaearon commented May 9, 2017
This is very odd. I don’t know what’s causing this. 😞
viankakrisna commented May 9, 2017
@phoa do you able to consistently replicate this problem? eg. tried to create another CRA instance and eject it?
phoa commented May 12, 2017
@viankakrisna It consistently happens when I eject (10 tries). Same thing happens when I tested it on my colleague’s computer.
The ejected package runs fine tho. So far I do not see any problem with it.
I kinda suspect that this may be caused by some corporate settings applied to our computers.
This is not happening with my personal computer.
jasenf commented May 19, 2017
I get the same error, running Windows 10. Exact same entries in my log file.
ro-savage commented May 29, 2017
This is happening in windows CI for PR #2400
Looks like it might be to do with running the latest version of yarn (0.24.5) as thats the only change that the PR makes
jazzfog commented Jun 19, 2017
Got this message too, Windows 10.
cheryllium commented Jun 19, 2017
Got same error, Windows 8.
KarandikarMihir commented Jun 23, 2017
Got same error on windows 10. FWIW, sharing the logs too.
gaearon commented Jun 23, 2017
Does anyone want to look into why this happens? I don’t know enough about Windows.
gaearon commented Jun 26, 2017
I can’t reproduce this on a Windows laptop. Tried both Cmd and PowerShell, both npm and yarn.
Can anybody who reproduces this think more about what makes your setup special?
phoa commented Jun 27, 2017
@gaearon — my setup is as follow:
- using standalone NodeJS Windows 64 Binary 6.10.2 and NPM 4.6.1 from NPM Github Release Page
- yarn is installed via npm install -g yarn
- i’m behind corporate-proxy, so my NPM and Yarn have proxy and https-proxy config setup
- there are corporate-specific scripts running behind the scene, which may or may not contribute to the error
A colleague of mine has the same setup, and he also got the same error message.
Up till now, the ejected version is still running fine without problem for me, despite the error message during eject.
tchojnacki commented Jun 27, 2017
Same, works fine despite the message.
@gaearon
- Windows 8.1
- Node v7.5.0 and NPM 4.1.2
- yarn installed using .msi
- firewall disabled completely
Can’t find anything special about my setup apart from that.
Источник