Yarn eject не работает

Все, что вам нужно знать о 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.

Источник

Оцените статью