Create-response-app: как запустить npm в конкретном браузере?

npm start

запускает сервер реакции в браузере по умолчанию, которым для меня является Firefox. Я люблю Firefox для просмотра, но предпочитаю Chrome в веб-разработке из-за его инструментов разработчика. Есть ли способ заставить "npm start" запустить сервер с Chrome, не меняя браузер по умолчанию на Chrome? Я использую Bash в Windows.

Редактировать: Я использовал "create-response-app" для создания своего сервера, и это добавляет скрипт в файл "packages.json" для "npm start". Сценарий запускает сервер localhost с браузером по умолчанию. Как изменить сценарий, добавленный командой create-response-app, так, чтобы он запускался в другом браузере?

@MarkC. Извините, я не правильно понял свою проблему перед тем, как опубликовать вопрос. Сейчас я более подробно объясню, чего хочу. Я использовал "create-response-app" для создания своего сервера, и это добавляет скрипт в файл "packages.json" для "npm start". Сценарий запускает сервер localhost с браузером по умолчанию. Как изменить сценарий, добавленный командой create-response-app, так, чтобы он запускался в другом браузере?

Osama Qarem 08.08.2018 04:39

Может быть, вы можете spawn Google Chrome со своим URL?

NoobTW 08.08.2018 05:02

Вы также можете использовать opn http://localhost:3000 -- 'google chrome' с opn-cligithub.com/sindresorhus/opn-cli

NoobTW 08.08.2018 05:07

можем ли мы отредактировать заголовок вопроса, чтобы упомянуть «create-react-app»?

dcorking 13.12.2019 12:57

@dcorking Не понял, что могу редактировать заголовок. Поменял, спасибо!

Osama Qarem 14.12.2019 15:29
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
65
6
64 193
15
Перейти к ответу Данный вопрос помечен как решенный

Ответы 15

Ответ принят как подходящий

Это возможно с помощью переменной окружения BROWSER.

Вы также можете сделать это прямо в терминале: BROWSER=chrome npm start

Это описано в Документы по расширенной конфигурации:

By default, Create React App will open the default system browser, favoring Chrome on macOS. Specify a browser to override this behavior, or set it to none to disable it completely. If you need to customize the way the browser is launched, you can specify a node script instead. Any arguments passed to npm start will also be passed to this script, and the url where your app is served will be the last argument. Your script's file name must have the .js extension.

Также обратите внимание, что названия браузеров различаются на разных платформах:

The app name is platform dependent. Don't hard code it in reusable modules. For example, Chrome is google chrome on macOS, google-chrome on Linux and chrome on Windows.

С тех пор ссылка на расширенную документацию по настройке изменилась. Сейчас это facebook.github.io/create-react-app/docs/advanced-configurat‌ ion

Osama Qarem 25.10.2018 10:41

Поскольку я потратил на это кучу времени, для OS X: BROWSER = "google chrome"

sshevlyagin 22.11.2018 12:58

@sshevlyagin Вторая цитата говорит именно об этом.

Abbe 22.11.2018 15:29

@ Извини, я подумал, когда попробовал, мне нужны цитаты из Google Chrome. Похоже, я не знаю.

sshevlyagin 23.11.2018 01:41

На Mac вы также можете установить Chrome Canary через BROWSER=google chrome canary.

Darren Alfonso 20.06.2019 19:19

Для тех, кто использует linux, установите браузер по умолчанию следующим образом: BROWSER=google-chrome-stable

n0noob 23.01.2020 16:34

Я хотел использовать Firefox в Интернете, и для этого мне пришлось использовать BROWSER = "/Applications/Firefox.app". Вместо этого просто BROWSER=firefox запустит Parallels.

Rörd 14.05.2020 15:52

Используйте хром с этим: BROWSER=chromium-browser

Ehsan88 01.03.2021 19:38

OP помечен как windows, что также является моим случаем, и при использовании PowerShell предлагаемое решение неприменимо. Файл .env был королем в моем случае

sKopheK 17.03.2021 12:41

Есть один пакет под названием set-default-browserhttps://www.npmjs.com/package/set-default-browser

просто скачайте оттуда пакет и добавьте следующий код

var setDefaultBrowser = require('set-default-browser');

setDefaultBrowser("chrome");

Или вы можете просто запустить этот set-default-browser chrome

Спасибо!

Эти пакеты направлены на изменение браузера ОС по умолчанию (это не вопрос).

mtone 29.06.2019 22:38

Добавьте скрипт в файл package.json

"devserver": "live-server --browser=Chrome"

Думаю, ответ заключается в том, что это не работает, и я не вижу документации по этому решению.

Ross Attrill 23.12.2019 02:21

Чтобы открыть в Chrome, нам нужно установить его как браузер по умолчанию.

Настройка -> Браузер по умолчанию -> Сделать по умолчанию ->

и выберите Chrome, если выбран любой другой браузер.

Он работал на Windows 10.

Метод с использованием файла .env в корне вашего приложения NodeJS.

BROWSER = "firefox developer edition"

На самом деле это не работает для меня (в настоящее время на машине с Windows), но использование BROWSER = "firefox" по-прежнему открывает Firefox Developer Edition, поэтому я думаю, что я в порядке

gkri 30.08.2019 10:27

Это довольно личное предпочтение, поэтому вы можете добавить его в .env.local (который игнорируется git)

Rahel Lüthy 14.04.2020 09:38

Простое рабочее решение, работающее с macOS catalina

Feras 05.09.2020 06:29
BROWSER=firefox developer edition у меня работает на Big Sur, хотя раньше это был BROWSER=Firefox Developer Edition ?. Лучше всего попробовать оба. Ни цитата, ни полный путь не работали.
Romain Champourlier 13.01.2021 17:39

В Windows cmd установите переменную env для желаемого браузера:

set BROWSWER=chrome

Затем просто запустите npm start как обычно

Я не люблю многократно создавать новый файл .env или добавлять npm start каждый раз с дополнительной командой. Вы можете указать предпочитаемый браузер вместо никто в файле конфигурации оболочки. Введите в свой терминал следующие команды:

echo export BROWSER=none >> ~/.bashrc
source ~/.bashrc

На этом этапе вы можете запустить npm start и быть счастливым.

Вот о чем я думал. Требование, чтобы мне постоянно приходилось добавлять эту переменную каждый раз, когда я создаю проект реакции, необоснованно. В худшем случае это должен быть переключатель в npm start.

Ken Ingram 15.02.2021 05:19

Как вы уже упоминали, вы используете create-react-app для создания приложения для реагирования и хотите, чтобы хром открывался при нажатии npm start. Задайте переменную BROWSER в package.json, присутствующем в вашем проекте, следующим образом:

Заменять:

"start": "react-scripts start"

С участием:

  • Linux:
    "start": "BROWSER='google-chrome-stable' react-scripts start"
    
  • Windows:
    "start": "BROWSER='chrome' react-scripts start"
    
  • OS X:
    "start": "BROWSER='google chrome' react-scripts start"
    

Я думаю, что синтаксис Windows неправильный. Я получаю 'BROWSER' is not recognized as an internal or external command, operable program or batch file.

Ron Inbar 22.06.2020 19:46

@RonInbar Возможно, вам нужно указать полный путь к исполняемому файлу chrome в Windows.

n0noob 05.07.2020 16:41

Если вы являетесь пользователем Окна, перейдите в Сидя -> Приложения по умолчанию -> Веб-браузер и выберите желаемый браузер. Если вы являетесь пользователем Linux, перейдите в Системные настройки -> Подробнее. (Примечание: В старых версиях Ubuntu Подробности называется Системная информация)

Sitting of windows

Sitting of linux

самое простое решение. Благодарю.

Mufida zuhra 19.04.2021 03:32

Используя вышеуказанную технику, вы можете получить ошибку 'BROWSER' is not recognized as an internal or external command, operable program or batch file.

Чтобы преодолеть это Выполните npm-установку cross-env в своем клонированном репо: npm install --save cross-env

Попробуйте использовать эту команду в файле package.json

"start": "cross-env BROWSER=chrome react-scripts start"

BROWSER - это переменная среды, и вы можете использовать пакет cross-env для правильной обработки.

Просто поправка: лучше, если "cross-env" будет установлен как dev-dependencies. Поэтому лучше было бы установить пакет: npm install --save-dev cross-env

ni8mr 13.10.2020 14:39

Я использую Ubuntu 20.04, и в package.json"start": "BROWSER=chromium node scripts/start.js", у меня работало следующее:

Edgar Manukyan 31.01.2021 19:08

@EdgarManukyan никаких чудес, но OP помечен как windows

sKopheK 17.03.2021 12:42

Вот как я решил свою:

Я открыл приложение на vsCode, затем через терминал запустил "BROWSER=Chrome npm start".

мы можем изменить браузер настройка -> браузер по умолчанию -> изменить как браузер

теперь вы набираете ------> npm start

Просто добавьте пакет env-cmd как глобальный

затем создайте файл .env и напишите переменную с определенным путем в браузерах после этого добавьте env-cmd только в свой стартовый скрипт

в терминале

npm install -g env-cmd

в файле .env

BROWSER= "your browser path"

like => BROWSER = "C: \ ProgramData \ Microsoft \ Windows \ Start Menu \ Programs \ Microsoft Edge"

в package.json добавьте env-cmd

"scripts": {
   "start": "env-cmd react-scripts start",
   "build": "react-scripts build",
   "test": "react-scripts test",
   "eject": "react-scripts eject"
}

это должно работать!

для браузера Brave это BROWSER=brave-browser npm start

Если вы хотите изменить браузер по умолчанию при запуске npm start или yarn start, самый простой способ сделать это - отредактировать файл package.json.

Многим неудобно работать с переменными окружения с помощью терминала.

Вот как должен выглядеть ваш раздел скриптов:

"scripts": {
"start": "BROWSER=none react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},

В приведенном выше сценарии он вообще не будет открывать какой-либо браузер, вы можете выбрать свой браузер для разработки и продолжить работу (я предпочитаю этот). Однако, если вам нужен конкретный браузер, вы можете заменить BROWSER=none любым из следующего:

  • BROWSER=firefox
  • BROWSER=google-chrome-stable
  • BROWSER=vivaldi

Одевают.

Другие вопросы по теме