Storybook: Opsi CLI untuk buku cerita awal untuk tidak membuka browser

Dibuat pada 20 Mar 2019  ·  31Komentar  ·  Sumber: storybookjs/storybook

Apakah permintaan fitur Anda terkait dengan masalah?
Saya me-restart start-storybook dari waktu ke waktu untuk alasan yang berbeda dari konfigurasi yang diubah hingga mengerjakan hal-hal lain. Namun demikian, saya tidak menutup tab browser buku cerita saya. Dan saat start-storybook membuka tab browser baru setiap kali dimulai, bilah tab saya diisi dengan beberapa tab buku cerita di antara tab lainnya. Ini mengganggu dan menyebabkan kebingungan dan waktu pembersihan tab...

Saya juga memperhatikan rekan-rekan saya melakukan hal yang sama yang menghasilkan masalah yang sama...
Dan saya sedikit terkejut, bahwa saya tidak dapat menemukan opsi untuk tidak membuka browser...

Saya tahu, ada --ci untuk melewati perintah interaktif dan tidak membuka browser, tetapi juga melewatkan perintah interaktif. Meskipun saya belum melihat petunjuk interaktif, menggunakan mode ci untuk penggunaan sehari-hari terasa tidak benar...

Jelaskan solusi yang Anda inginkan

start-server --no-open harus dibuat dan berfungsi seperti biasa tetapi tidak membuka jendela browser.

Jelaskan alternatif yang telah Anda pertimbangkan

Membuka browser dengan start-storybook harus dinonaktifkan secara default dan dapat diaktifkan dengan menggunakan --open .

Webpack mendukung flag --open / --no-open yang juga dicerminkan oleh CLI lain yang menggunakan webpack secara internal.
angular cli dan vue cli menawarkan flag yang sama dan - seperti webpack-dev-server - jangan buka browser secara default.

Dari sudut pandang pribadi saya, membuka browser secara default adalah praktik buruk yang berpendirian.
Tapi saya tahu, ada pendapat berbeda tentang ini di luar sana ... :)

Apakah Anda dapat membantu mewujudkan fitur tersebut?
Ya, saya bisa menggali ini dan membuat PR.

konteks tambahan
Adakah yang ingin tangkapan layar bilah tab browser saya diisi dengan tab buku cerita? ;)

BREAKING CHANGE cli feature request todo

Komentar yang paling membantu

secara pribadi saya lebih suka --no-open sebagai default

Semua 31 komentar

Halo @simbo. AFAIK opsi --ci melakukan hal itu.

Apakah Anda mengusulkan:

  • mengganti nama atau alias menjadi --no-open
  • membuatnya true secara default?

Sepertinya begitu... :)

Alias. Saya baik-baik saja dengan menambahkan alias --no-open ke --ci untuk membuat fitur lebih mudah ditemukan. Kami juga dapat membuat flag terpisah jika pada titik tertentu ada lebih banyak hal yang tidak ingin kami lakukan saat berada di CI selain dari tidak membuka browser.

Nilai bawaan. Adapun untuk mengubah default ke --no-open , saya tidak menentangnya, meskipun itu akan menjadi perubahan yang melanggar jadi kami ingin melakukannya di 6.0. Saya memposting masalah ini di #maintenance Discord jadi semoga kita bisa mendapatkan konsensus. Jika demikian, ini adalah perubahan yang sepele tetapi mungkin perlu beberapa saat untuk dirilis.

Ini mungkin tidak sama. Saya pikir CRA menangani ini dengan cara yang anggun dan dapat diadopsi. Perbedaan utama adalah:

  • menargetkan tab yang sudah terbuka alih-alih membuka yang baru setiap saat.
  • atur browser pilihan atau jangan buka -> .env file
  • lebih suka Chrome daripada browser default (misalnya untuk orang yang menjelajah dengan browser yang berbeda dari yang mereka kembangkan, yang tampaknya banyak - Chrome masih merupakan taruhan yang lebih aman bagi mayoritas).

Dokumentasi CRA yang relevan

Bagi saya, start-storybook membuka tab di jendela latar belakang dari browser yang berbeda setiap kali saya memulai ulang.

itu juga melewatkan petunjuk interaktif

Salah satu contoh prompt tersebut adalah tentang menjalankan Storybook port alternatif ketika yang diminta sedang sibuk. Itu bisa sangat berguna kadang-kadang. Jadi saya pikir, --no-open seharusnya tidak menjadi alias untuk --ci . Seharusnya hanya menonaktifkan pembukaan

lebih suka Chrome daripada browser default

Ya, itu sebabnya saya tidak menyalin pendekatan itu apa adanya

secara pribadi saya lebih suka --no-open sebagai default

Halo semuanya! Sepertinya tidak banyak yang terjadi dalam masalah ini akhir-akhir ini. Jika masih ada pertanyaan, komentar, atau bug, jangan ragu untuk melanjutkan diskusi. Sayangnya, kami tidak punya waktu untuk membahas setiap masalah. Kami selalu terbuka untuk kontribusi jadi silakan kirim permintaan tarik jika Anda ingin membantu. Masalah tidak aktif akan ditutup setelah 30 hari. Terima kasih!

Apakah ada yang lebih suka perilaku saat ini? Jika tidak, saya pikir kita bisa membuat perubahan

Saya bersedia. Sebenarnya saya agak mengandalkannya sebagai indikasi bahwa buku cerita telah selesai dibangun

mungkin kami hanya menyediakan kedua flag cli: --open dan --no-open dan memungkinkan untuk mengonfigurasi ini setelah storybook.config.js mendarat.

Saya lebih suka flag --no-open juga. Lakukan semua yang saat ini default, lewati saja membuka browser baru. Saya SANGAT sering membuka jendela yang ada tetapi harus menutup dan memulai kembali proses buku cerita (karena perubahan konfigurasi, dll), jadi saya tidak dapat mengandalkan auto-restart. Dalam kasus itu, saya hanya tidak ingin browser baru.

@kutenai Bisakah Anda menjalankannya dengan --ci ? Diskusi di sini adalah apakah perilaku itu harus menjadi default.

Tampaknya bekerja dengan baik untuk saya. Mungkin opsinya hanya menyesatkan, karena itu menyiratkan bahwa ia melakukan "lebih" daripada yang saya inginkan, tetapi dalam praktiknya, tampaknya berfungsi dengan baik.

FWIW, create-react-app memungkinkan Anda mengatur variabel env BROWSER untuk memilih browser mana yang akan dibuka, atau none untuk mencegah browser apa pun dibuka. Mungkin layak untuk dilihat

Diskusi di sini adalah apakah perilaku itu harus menjadi default.

Anda benar-benar menyukai komentar saya yang mengatakan bahwa itu harus menjadi opsi terpisah

Anda benar-benar menyukai komentar saya yang mengatakan bahwa itu harus menjadi opsi terpisah

Ya, saya benar-benar setuju dengan menjadikan --no-open sebagai opsi terpisah. Saya juga berpikir itu harus menjadi default dan itulah yang saya harapkan untuk mendapatkan konsensus untuk 6.0

--no-open menjadi default tampaknya seperti default yang waras, jujur ​​membuka jendela browser secara default sepertinya sebagian besar untuk flash dalam pembicaraan konferensi dan tidak melakukan apa pun selain mengganggu pengembang yang benar-benar memuat ulang perintah ini cukup sering.

Untuk sekarang:
Saya kira saya akan menggunakan flag --ci .

Saya juga ingin default untuk tidak membuka browser, dan fwiw tebakan pertama saya adalah bahwa saya bisa menambahkan BROWSER=none seperti cra -- jadi mungkin layak mengadopsi metode itu untuk konsistensi. Saya mungkin bukan satu-satunya yang akan menebaknya sebelum melihat dokumen.

Pemahaman saya tentang perilaku start skrip reaksi adalah bahwa secara default ia membuka tab dan jika sudah ada yang terbuka, ia menggunakan kembali tab itu.

Saya suka perilaku itu. Jika saya telah mengerjakan sebuah proyek melalui perubahan kode dan aplikasi/webpack crash yang tak terelakkan, saya tidak perlu khawatir tentang membengkaknya jendela saya dengan tab baru dari aplikasi yang sama atau membalik bendera untuk membuka tab baru.

Kita juga harus berhati-hati dalam menjalankan dua perintah selama alur kerja dev normal: start-storybook --open pada awal awal dan kemudian start-storybook [--no-open] pada perintah berikutnya. Jika penggunaan kembali tab dimungkinkan, ini bukan masalah karena alur kerja saya akan selalu start-storybook --open .

Saya lebih suka default Storybook adalah membuka tab tetapi saya baik-baik saja jika Anda memutuskan untuk tidak melakukannya. Saya akan senang melihat perilaku penggunaan kembali tab muncul.

@JonKrone Sayangnya itu hanya menggunakan kembali tab yang ada di HMR sejauh yang saya tahu. Jika saya menjalankan kembali CLI itu selalu membuka tab baru untuk saya (setidaknya di Chrome/OSX).

Saya tidak bisa membuat --ci bekerja. Masih membuka tab baru di chrome setiap kali saya memulainya. Saya menggunakan 5.2.1 dengan vue.

@SebbeJohansson dapatkah Anda memeriksa ulang? bekerja untuk saya

@shilman Saya baru saja melakukannya dengan pengaturan yang benar-benar baru hanya untuk memastikan.
\My-Storybook>npm menjalankan buku cerita --ci
Menghasilkan tab baru di browser utama saya.

@SebbeJohansson saat menggunakan npm run , Anda harus menambahkan -- ke semua argumen yang ingin Anda sampaikan ke perintah yang mendasarinya:

npm run storybook -- --ci

https://docs.npmjs.com/cli/run-script

Selama memulai ulang tidak menargetkan dengan benar jendela/tab browser yang sama (dan/atau memuat ulang), membuka jendela baru secara default hanya membuat saya frustrasi. Saya pikir ini adalah anti-pola yang banyak digunakan paket untuk menjadi mewah atau semacamnya . Kita semua mampu membuka browser pada saat kita tahu bagaimana menangani npm.

Setelah membangun itu menunjukkan sebuah kotak yang bagus dengan 2 url saya dapat ctrl-klik, dan kebanyakan dari kita mungkin menggunakan start-storybook sambil mengembangkan dan memulai ulang banyak .

TLDR: Mengangkat --ci sebagai default dan membuka di browser dengan bendera

restart banyak

Mengapa Anda membutuhkan itu? start-storybook harus memilih perubahan Anda. Jika tidak, itu terdengar seperti masalah dengan sendirinya.

Kita semua mampu membuka browser

Tentu Anda tahu cara membuka browser, masalahnya Anda tidak tahu kapan . Dalam proyek besar, pembuatan pertama mungkin memakan waktu cukup lama, dan hanya duduk dan menunggu kotak di konsol mungkin bukan pilihan

Mengapa Anda membutuhkan itu? start-storybook harus memilih perubahan Anda. Jika tidak, itu terdengar seperti masalah dengan sendirinya.

Seharusnya, dan tidak pada sebagian besar perubahan, tetapi tidak semua perubahan. Saat ini saya sedang menyiapkan Buku Cerita baru dan mengutak-atiknya, jadi ya saya berakhir dengan 10 tab dalam beberapa menit.

Tentu saja Anda tahu _bagaimana_ untuk membuka browser, masalahnya Anda tidak tahu _kapan_. Dalam proyek besar, pembuatan pertama mungkin memakan waktu cukup lama, dan hanya duduk dan menunggu kotak di konsol mungkin bukan pilihan

Saya masih bisa membuka browser, itu hanya akan memberi tahu saya 'Koneksi ditolak'. Saya pikir itu lebih menjengkelkan bahwa setelah satu atau 2 menit tiba-tiba browser muncul saat saya melakukan sesuatu yang lain.
Mungkin ada komentar di kotak ada bendera --automagically-open-in-browser (judul kerja) yang dapat Anda aktifkan.

Catatan Saya melihat pola ini di seluruh industri, dan di mana digunakan, masalah, & (stackoverflow) pertanyaan muncul di mana-mana cara menonaktifkannya. Saya sangat tidak menyukai polanya sebagai default , terutama karena menargetkan tab yang sama bukanlah teknologi yang solid. Sementara itu, setelah dibuka, pemutusan sambungan ke 'server' dapat memulai polling dan memuat ulang setelah muncul kembali.

Proposal: Alih-alih melakukan semua ini, bisakah kita menambahkan pesan ke output CLI yang memberi tahu pengguna opsi --ci jika mereka tidak ingin membuka browser? Perilaku saat ini jauh lebih baik berkat peningkatan @yannbf

Di mana kita bisa melihat peningkatan ini?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat