J'utilise l'outil create-react-app pour développer des applications React. Le problème est que lorsque j'exécute l'application à l'aide de la commande "npm start", elle s'ouvre dans le navigateur Firefox et Je souhaite qu'elle s'ouvre dans le navigateur Chrome par défaut.
J'ai trouvé de nombreuses réponses fournissant la même solution qui consiste à modifier "start" dans la section scripts du fichier package.json mais je l'ai essayée encore et encore avec des codes différents et cela n'a pas fonctionné. Je ne sais pas pourquoi toutes les réponses que j'ai lues n'ont pas résolu mon problème. Je travaille sous Windows 7.
Voici mon code package.json:
0 info it worked if it ends with ok 1 verbose cli [ 'C:\\Program Files (x86)\\nodejs\\node.exe', 1 verbose cli 'C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js', 1 verbose cli 'start' ] 2 info using npm@6.7.0 3 info using node@v11.11.0 4 verbose run-script [ 'prestart', 'start', 'poststart' ] 5 info lifecycle jsx@0.1.0~prestart: jsx@0.1.0 6 info lifecycle jsx@0.1.0~start: jsx@0.1.0 7 verbose lifecycle jsx@0.1.0~start: unsafe-perm in lifecycle true 8 verbose lifecycle jsx@0.1.0~start: PATH: C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\Users\KA\react\jsx\node_modules\.bin;C:\Python27\;C:\Python27\Scripts;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Python36\Scripts\;C:\Python36\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Windows\System32\Windows System Resource Manager\bin;C:\Windows\idmu\common;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Java\jdk1.8.0\bin;C:\ProgramData\Anaconda2;C:\ProgramData\Anaconda2\Scripts;C:\ProgramData\Anaconda2\Library\bin;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Pandoc\;C:\Program Files\Git\cmd;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Users\KA\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files (x86)\nodejs\;C:\ProgramData\chocolatey\bin;;C:\Program Files (x86)\LINQPad5;C:\Ruby22\bin;C:\Python27;C:\Python27\Scripts;C:\Users\KA\AppData\Local\atom\bin;C:\Program Files\heroku\bin;C:\Python27\Scripts\pip.exe;C:\Users\KA\AppData\Roaming\npm;C:\Users\KA\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\KA\AppData\Roaming\npm;C:\Users\KA\.dotnet\tools 9 verbose lifecycle jsx@0.1.0~start: CWD: C:\Users\KA\react\jsx 10 silly lifecycle jsx@0.1.0~start: Args: [ '/d /s /c', "BROWSER='Chrome' react-scripts start" ] 11 silly lifecycle jsx@0.1.0~start: Returned: code: 1 signal: null 12 info lifecycle jsx@0.1.0~start: Failed to exec start script 13 verbose stack Error: jsx@0.1.0 start: `BROWSER='Chrome' react-scripts start` 13 verbose stack Exit status 1 13 verbose stack at EventEmitter.<anonymous> (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\npm-lifecycle\index.js:301:16) 13 verbose stack at EventEmitter.emit (events.js:197:13) 13 verbose stack at ChildProcess.<anonymous> (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14) 13 verbose stack at ChildProcess.emit (events.js:197:13) 13 verbose stack at maybeClose (internal/child_process.js:984:16) 13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:265:5) 14 verbose pkgid jsx@0.1.0 15 verbose cwd C:\Users\KA\react\jsx 16 verbose Windows_NT 6.1.7601 17 verbose argv "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "start" 18 verbose node v11.11.0 19 verbose npm v6.7.0 20 error code ELIFECYCLE 21 error errno 1 22 error jsx@0.1.0 start: `BROWSER='Chrome' react-scripts start` 22 error Exit status 1 23 error Failed at the jsx@0.1.0 start script. 23 error This is probably not a problem with npm. There is likely additional logging output above. 24 verbose exit [ 1, true ]
Si je mets à jour "start" dans la section script de package.json, comme ceci:
"start": "BROWSER='Chrome' react-scripts start"
Cela ne fonctionnera pas et j'obtiens cette erreur:
"BROWSER" n'est pas reconnu comme une commande interne ou externe
et voici le fichier journal:
{ "name": "jsx", "version": "0.1.0", "private": true, "dependencies": { "react": "^16.8.6", "react-dom": "^16.8.6", "react-scripts": "3.0.1" }, "scripts": { "start": "cross-env PORT=8080 BROWSER='Chrome' react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }, "eslintConfig": { "extends": "react-app" }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] } }
7 Réponses :
Remplacez votre navigateur par défaut par Chrome ou utilisez:
"start": "cross-env BROWSER='Google Chrome' react-scripts start",
J'ai fait cela mais cela ne fonctionne pas et j'ai mis à jour le message pour que vous puissiez comprendre l'erreur que j'obtiens dans le fichier journal.
"Google Chrome" et pas seulement "Chrome"
J'ai modifié mais j'obtiens toujours cette erreur: 'BROWSER' n'est pas reconnu comme une commande interne ou externe
Changez votre navigateur par défaut en chrome, c'est la solution la plus simple
@Tanaka J'ai édité le code. Ajoutez "cross-env" à votre package.json
et réessayez
Je l'ai essayé mais encore une fois c'est l'erreur: 'cross-env' n'est pas reconnu comme une commande interne ou externe - @Caleusdev
pouvez-vous changer le navigateur par défaut en chrome?
1- set BROWSER = chrome 2- npm start
. Ces deux commandes fonctionnent dans cmd mais pas dans la section script.
si votre sous Windows est
BROWSER=google chrome npm start
Linux est
BROWSER=google-chrome npm start
voulez-vous dire qu'il devrait être comme ceci "start": "BROWSER = chrome npm start"
dans package.json, dans la seciton des scripts?
Ici, vous utilisez deux commandes sur une ligne, l'une d'elles définit la variable d'environnement et une autre start node.js. Les commandes doivent être les suivantes, en ligne de commande:
set BROWSER=chrome npm start
Ou vous pouvez définir BROWSER env. variable dans les envs système, avant d'exécuter node.js
J'ai essayé mais il dit "Windows ne trouve pas" chrome ". Assurez-vous que vous avez tapé le nom correctement". Ensuite, j'ai essayé "Google Chrome", google chrome, "chrome", chrome.exe, et tout cela n'a pas fonctionné.
sans citations? set BROWSER = chrome - cet enregistrement correct d'env. set BROWSER = 'chrome' - ça ne marche pas aussi pour moi.
Ah ok j'ai réessayé. Cela fonctionne sans guillemets. Je ne sais pas quel était le problème, mais avant que cela ne fonctionne, j'ai trouvé une option dans Windows qui vous permet de définir des programmes par défaut.
Sous Windows, définissez la variable env:
set BROWSER=chrome
puis faites simplement npm start
comme d'habitude
Créez un fichier .env.development
dans le répertoire racine du projet et incluez la ligne suivante:
BROWSER=chrome
A travaillé pour moi merci. Comment puis-je remplacer chrome
par le navigateur par défaut du système afin que le système le récupère par lui-même?
Cela s'est ouvert sur Chrome Canary pour moi, ce qui était ... exactement ce que je voulais! Je ne sais pas pourquoi.
Accédez aux paramètres de Windows et recherchez le navigateur par défaut et définissez-le selon votre choix .... J'étais confronté au même problème et je l'ai résolu en faisant cela ...
Sur Mac, votre script de démarrage doit inclure des guillemets autour de google chrome
:
"scripts": { "start": "react-scripts start", "build": "react-scripts build", "chrome": "BROWSER='google chrome' react-scripts start", "safari": "BROWSER=safari react-scripts start" }
Maintenant npm start
l'ouvrira dans Chrome .
Si vous voulez la flexibilité d'utiliser différents navigateurs, ajoutez ce qui suit à votre fichier package.json:
"start": "BROWSER='google chrome' react-scripts start"
Ces scripts fonctionnent avec
npm run chrome
et
npm run safari
On dirait que vous êtes proche
"start": "BROWSER = 'Google Chrome' react-scripts start",
J'ai fait cela mais cela ne fonctionne pas et j'ai mis à jour le message pour que vous puissiez comprendre l'erreur que j'obtiens dans le fichier journal. @SterlingArcher