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, так, чтобы он запускался в другом браузере?
Может быть, вы можете spawn Google Chrome со своим URL?
Вы также можете использовать opn http://localhost:3000 -- 'google chrome' с opn-cligithub.com/sindresorhus/opn-cli
можем ли мы отредактировать заголовок вопроса, чтобы упомянуть «create-react-app»?
@dcorking Не понял, что могу редактировать заголовок. Поменял, спасибо!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это возможно с помощью переменной окружения 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
Поскольку я потратил на это кучу времени, для OS X: BROWSER = "google chrome"
@sshevlyagin Вторая цитата говорит именно об этом.
@ Извини, я подумал, когда попробовал, мне нужны цитаты из Google Chrome. Похоже, я не знаю.
На Mac вы также можете установить Chrome Canary через BROWSER=google chrome canary.
Для тех, кто использует linux, установите браузер по умолчанию следующим образом: BROWSER=google-chrome-stable
Я хотел использовать Firefox в Интернете, и для этого мне пришлось использовать BROWSER = "/Applications/Firefox.app". Вместо этого просто BROWSER=firefox запустит Parallels.
Используйте хром с этим: BROWSER=chromium-browser
OP помечен как windows, что также является моим случаем, и при использовании PowerShell предлагаемое решение неприменимо. Файл .env был королем в моем случае
Есть один пакет под названием set-default-browserhttps://www.npmjs.com/package/set-default-browser
просто скачайте оттуда пакет и добавьте следующий код
var setDefaultBrowser = require('set-default-browser');
setDefaultBrowser("chrome");
Или вы можете просто запустить этот set-default-browser chrome
Спасибо!
Эти пакеты направлены на изменение браузера ОС по умолчанию (это не вопрос).
Добавьте скрипт в файл package.json
"devserver": "live-server --browser=Chrome"
Думаю, ответ заключается в том, что это не работает, и я не вижу документации по этому решению.
Чтобы открыть в Chrome, нам нужно установить его как браузер по умолчанию.
Настройка -> Браузер по умолчанию -> Сделать по умолчанию ->
и выберите Chrome, если выбран любой другой браузер.
Он работал на Windows 10.
Метод с использованием файла .env в корне вашего приложения NodeJS.
BROWSER = "firefox developer edition"
На самом деле это не работает для меня (в настоящее время на машине с Windows), но использование BROWSER = "firefox" по-прежнему открывает Firefox Developer Edition, поэтому я думаю, что я в порядке
Это довольно личное предпочтение, поэтому вы можете добавить его в .env.local (который игнорируется git)
Простое рабочее решение, работающее с macOS catalina
BROWSER=firefox developer edition у меня работает на Big Sur, хотя раньше это был BROWSER=Firefox Developer Edition ?. Лучше всего попробовать оба. Ни цитата, ни полный путь не работали.
В Windows cmd установите переменную env для желаемого браузера:
set BROWSWER=chrome
Затем просто запустите npm start как обычно
Я не люблю многократно создавать новый файл .env или добавлять npm start каждый раз с дополнительной командой. Вы можете указать предпочитаемый браузер вместо никто в файле конфигурации оболочки. Введите в свой терминал следующие команды:
echo export BROWSER=none >> ~/.bashrc
source ~/.bashrc
На этом этапе вы можете запустить npm start и быть счастливым.
Вот о чем я думал. Требование, чтобы мне постоянно приходилось добавлять эту переменную каждый раз, когда я создаю проект реакции, необоснованно. В худшем случае это должен быть переключатель в npm start.
Как вы уже упоминали, вы используете create-react-app для создания приложения для реагирования и хотите, чтобы хром открывался при нажатии npm start. Задайте переменную BROWSER в package.json, присутствующем в вашем проекте, следующим образом:
Заменять:
"start": "react-scripts start"
С участием:
"start": "BROWSER='google-chrome-stable' react-scripts start"
"start": "BROWSER='chrome' react-scripts start"
"start": "BROWSER='google chrome' react-scripts start"
Я думаю, что синтаксис Windows неправильный. Я получаю 'BROWSER' is not recognized as an internal or external command, operable program or batch file.
@RonInbar Возможно, вам нужно указать полный путь к исполняемому файлу chrome в Windows.
Если вы являетесь пользователем Окна, перейдите в Сидя -> Приложения по умолчанию -> Веб-браузер и выберите желаемый браузер. Если вы являетесь пользователем Linux, перейдите в Системные настройки -> Подробнее. (Примечание: В старых версиях Ubuntu Подробности называется Системная информация)
самое простое решение. Благодарю.
Используя вышеуказанную технику, вы можете получить ошибку
'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
Я использую Ubuntu 20.04, и в package.json"start": "BROWSER=chromium node scripts/start.js", у меня работало следующее:
@EdgarManukyan никаких чудес, но OP помечен как windows
Вот как я решил свою:
Я открыл приложение на 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=firefoxBROWSER=google-chrome-stableBROWSER=vivaldiОдевают.
Возможный дубликат Как использовать nodejs для открытия браузера по умолчанию и перехода к определенному URL-адресу