Ваш запрос функции связан с проблемой?
Я перезапускаю start-storybook
время от времени по разным причинам, от изменения конфигурации до работы над другими вещами. Тем не менее, я не закрываю вкладку браузера сборника рассказов. И поскольку start-storybook
открывает новую вкладку браузера при каждом запуске, моя панель вкладок заполняется несколькими вкладками сборника рассказов между другими вкладками. Это раздражает и приводит к путанице и времени очистки вкладок ...
Я также заметил, что мои коллеги делают то же самое, что приводит к тем же проблемам ...
И меня немного удивило, что я не нашел возможности не открывать браузер ...
Я знаю, что есть --ci
чтобы пропустить интерактивные подсказки и не открывать браузер, но он также пропускает интерактивные подсказки. Хотя я еще не видел никаких интерактивных подсказок, использование режима ci для повседневного использования просто не подходит ...
Опишите желаемое решение
start-server --no-open
должен строиться и работать как обычно, но не открывать окно браузера.
Опишите альтернативы, которые вы рассмотрели
Открытие браузера с помощью start-storybook
должно быть отключено по умолчанию и может быть включено с помощью --open
.
Webpack поддерживает флаги --open
/ --no-open
которые также зеркалируются другими интерфейсами командной строки, которые используют webpack внутренне.
angular cli и vue cli предлагают одинаковые флаги и, как и webpack-dev-server, по умолчанию не открывают браузер.
С моей личной точки зрения, открытие браузера по умолчанию - это упрямая плохая практика.
Но я знаю, есть разные мнения по этому поводу ... :)
Можете ли вы помочь воплотить эту функцию в жизнь?
Да, я мог бы вникнуть в это и устроить пиар.
Дополнительный контекст
Кому-нибудь нужен снимок экрана с панелью вкладок моего браузера, заполненной вкладками сборника рассказов? ;)
Привет @simbo. Насколько мне известно, опция --ci
делает именно это.
Вы предлагаете:
--no-open
true
?Кажется так... :)
Псевдоним. Я могу добавить псевдоним --no-open
к --ci
чтобы сделать эту функцию более доступной. Мы также могли бы сделать его отдельным флагом, если в какой-то момент есть еще вещи, которые мы не хотим делать, когда мы находимся в CI, кроме того, что просто не открываем браузер.
Значение по умолчанию. Что касается изменения значения по умолчанию на --no-open
, я не против, хотя это было бы критическим изменением, поэтому мы хотели бы сделать это в 6.0. Я публикую эту проблему в Discord #maintenance
поэтому, надеюсь, мы сможем прийти к консенсусу. Если так, то это тривиальное изменение, но, вероятно, потребуется некоторое время, чтобы его выпустить.
Это может быть не то же самое. Я думаю, что CRA изящно справится с этим и может быть принят. Ключевые отличия:
Соответствующая документация CRA
Для меня start-storybook открывает вкладку в фоновом окне другого браузера каждый раз, когда я его перезапускаю.
он также пропускает интерактивные подсказки
Одним из примеров такого запроса является запуск Storybook через альтернативный порт, когда запрошенный порт занят. Иногда это может быть весьма полезно. Поэтому я думаю, что --no-open
не должно быть псевдонимом для --ci
. Следует только отключить открытие
предпочитайте Chrome браузерам по умолчанию
Да, поэтому я не копировал этот подход как есть
лично я бы предпочел --no-open
по умолчанию
Всем привет! Похоже, что в последнее время в этом вопросе не так много происходило. Если все еще есть вопросы, комментарии или ошибки, пожалуйста, продолжайте обсуждение. К сожалению, у нас нет времени разбираться в каждой проблеме. Мы всегда открыты для внесения вклада, поэтому, если вы хотите помочь, отправьте нам запрос на включение. Неактивные вопросы будут закрыты через 30 дней. Спасибо!
Кто-нибудь предпочитает нынешнее поведение? Если нет, я думаю, мы можем внести изменения
Я делаю. На самом деле я как бы полагаюсь на это как на указание на то, что сборник рассказов закончен.
возможно, мы просто предоставим оба флага cli: --open
и --no-open
и позволим настроить это после приземления storybook.config.js
.
Я бы также предпочел флаг --no-open. Сделайте все, что в настоящее время установлено по умолчанию, просто пропустите открытие нового браузера. У меня ОЧЕНЬ часто открыто существующее окно, но я должен закрыть и перезапустить процесс сборника рассказов (из-за изменений конфигурации и т. Д.), Поэтому я не могу полагаться на автоматический перезапуск. В таких случаях мне просто не нужен новый браузер.
@kutenai Можешь просто бежать с --ci
? Здесь обсуждается вопрос о том, должно ли такое поведение использоваться по умолчанию.
Кажется, у меня все работает нормально. Возможно, этот вариант просто вводит в заблуждение, поскольку подразумевает, что он делает «больше», чем я хочу, но на практике кажется, что он работает нормально.
FWIW, create-response-app позволяет вам установить переменную BROWSER
env, чтобы выбрать, какой браузер открыть, или none
чтобы запретить открытие любого браузера. Может быть стоит посмотреть
Здесь обсуждается вопрос о том, должно ли такое поведение использоваться по умолчанию.
Вам действительно понравился мой комментарий, в котором говорится, что это должен быть отдельный вариант
Вам действительно понравился мой комментарий, в котором говорится, что это должен быть отдельный вариант
Да, я абсолютно согласен с тем, чтобы сделать --no-open
отдельным вариантом. Я также считаю, что это должно быть значение по умолчанию, и я надеюсь достичь консенсуса по поводу 6.0.
Значение по умолчанию --no-open
кажется разумным по умолчанию, честно говоря, открытие окна браузера по умолчанию похоже на то, что это в основном для флэш-памяти на конференции и ничего не делает, кроме как раздражает разработчиков, которые на самом деле часто перезагружают эту команду.
Сейчас:
Думаю, я использую флаг --ci
.
Я также хотел бы, чтобы по умолчанию браузер не открывался, и, пожалуй, я первым делом предположил, что могу добавить BROWSER=none
как cra - так что, возможно, стоит принять этот метод для согласованности. Возможно, я не единственный, кто догадается об этом, прежде чем просматривать документы.
Насколько я понимаю, поведение реактивного скрипта start
заключается в том, что по умолчанию он открывает вкладку, а если она уже открыта, он повторно использует эту вкладку.
Мне нравится такое поведение. Если я работал над проектом через изменения кода и неизбежные сбои приложения / веб-пакета, мне не нужно беспокоиться о раздувании моих окон новыми вкладками того же приложения или перевороте флага, чтобы открыть новую вкладку.
Мы также должны быть осторожны с запуском двух команд во время обычных рабочих процессов разработки: start-storybook --open
при первоначальном запуске и затем start-storybook [--no-open]
при последующих командах. Если возможно повторное использование вкладок, это не проблема, так как мой рабочий процесс всегда будет start-storybook --open
.
Я бы предпочел, чтобы по умолчанию в Storybook открывалась вкладка, но ничего, если вы решите этого не делать. Я бы хотел увидеть, как работает повторное использование вкладок.
@JonKrone К сожалению, насколько мне известно, он повторно использует только существующую вкладку в HMR. Если я повторно запускаю интерфейс командной строки, он всегда открывает для меня новую вкладку (по крайней мере, в Chrome / OSX).
Не могу заставить работать --ci. По-прежнему открывает новую вкладку в хроме каждый раз, когда я ее запускаю. Я нахожусь на 5.2.1 с vue.
@SebbeJohansson, можешь еще раз проверить? работает на меня
@shilman Я только что использовал совершенно новую настройку, чтобы убедиться.
\ My-Storybook> npm run сборник рассказов --ci
Открывает новую вкладку в моем основном браузере.
@SebbeJohansson при использовании npm run
вы должны добавить --
ко всем аргументам, которые вы хотите передать базовой команде:
npm run storybook -- --ci
Пока перезапуск не нацелен на одно и то же окно / вкладку браузера (и / или не перезагружает его), открытие нового окна по умолчанию меня просто расстраивает. Я думаю, что это антипаттерн, который многие пакеты используют, чтобы придумать что-то особенное . Мы все способны открыть браузер к тому времени, когда узнаем, как обрабатывать npm.
После сборки он показывает красивая коробка с 2 URL, можно чтрла кнопки мыши, и большинство из нас , вероятно , использовать start-storybook
при разработке и перезапуск много.
TL; DR: голосование за --ci
по умолчанию и открытие в браузере по флагу
перезапуск много
Зачем тебе это надо? start-storybook
должен выбрать ваши изменения. Если это не так, это уже само по себе является проблемой.
Мы все можем открыть браузер
Конечно, вы знаете, как открыть браузер, проблема в том, что вы не знаете, когда . В больших проектах первая сборка может занять довольно много времени, и просто сидеть и ждать коробки в консоли может быть не вариант.
Зачем тебе это надо?
start-storybook
должен выбрать ваши изменения. Если это не так, это уже само по себе является проблемой.
Он должен и делает с большинством изменений, но не со всеми изменениями. В настоящее время я создаю новый сборник рассказов и возюсь с ним, так что да, я получил 10 вкладок за несколько минут.
Конечно, вы знаете, как открыть браузер, проблема в том, что вы не знаете, когда. В больших проектах первая сборка может занять довольно много времени, и просто сидеть и ждать коробки в консоли может быть не вариант.
Я все еще могу открыть браузер, он просто скажет мне «В соединении отказано». Я думаю, что больше раздражает то, что через минуту или две внезапно появляется браузер, пока я занимаюсь чем-то другим.
В поле может быть комментарий, там есть флаг --automagically-open-in-browser
(рабочее название), который вы можете включить.
Обратите внимание: я вижу эту закономерность в отрасли, и везде, где она используется, возникают проблемы и вопросы (stackoverflow), как ее отключить. Мне очень не нравится этот шаблон по умолчанию , тем более что нацеливание на одну и ту же вкладку не является надежной технологией. Между тем, после открытия соединение с «сервером» может начать опрос и перезагрузить, как только он снова заработает.
Предложение: вместо того, чтобы делать все это, можем ли мы просто добавить сообщение в вывод CLI, уведомляющее пользователя о параметре --ci
если они не хотят, чтобы он открывал браузер? Текущее поведение намного лучше благодаря улучшениям @yannbf.
Где мы можем увидеть эти улучшения?
Доступна в версии 6.0-beta. https://github.com/storybookjs/storybook/pull/10329
Самый полезный комментарий
лично я бы предпочел
--no-open
по умолчанию