如何使我的 React 应用程序默认在 Chrome 浏览器中打开



我正在使用create-react-app工具来开发React应用程序。问题是当我使用"npm start"命令运行应用程序时,它将在Firefox浏览器中打开,我希望默认情况下它在Chrome浏览器中打开。

我发现许多答案提供了相同的解决方案,即在package.json文件中的脚本部分中修改"开始">,但我使用不同的代码一遍又一遍地尝试,但没有奏效。我不知道为什么我读到的所有答案都没有解决我的问题。我在Windows 7中工作。

这是我的包.json代码:

{
  "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"
    ]
  }
}

如果我在package.json的脚本部分中更新"开始",如下所示:

"start": "BROWSER='Chrome' react-scripts start"

它不起作用,我收到此错误:
"浏览器"不被识别为内部或外部命令

这是日志文件:

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)nodejsnode_modulesnpmnode_modulesnpm-lifecyclenode-gyp-bin;C:UsersKAreactjsxnode_modules.bin;C:Python27;C:Python27Scripts;C:ProgramDataOracleJavajavapath;C:Program Files (x86)Common FilesOracleJavajavapath;C:Python36Scripts;C:Python36;C:Program Files (x86)NVIDIA CorporationPhysXCommon;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Program FilesIntelWiFibin;C:Program FilesCommon FilesIntelWirelessCommon;C:Program Files (x86)QuickTimeQTSystem;C:WindowsSystem32Windows System Resource Managerbin;C:Windowsidmucommon;C:Program Files (x86)Microsoft SQL Server100ToolsBinn;C:Program FilesMicrosoft SQL Server100ToolsBinn;C:Program FilesMicrosoft SQL Server100DTSBinn;C:Program Files (x86)Windows Kits8.1Windows Performance Toolkit;C:Program FilesMicrosoft SQL Server110ToolsBinn;C:Program Files (x86)Microsoft SDKsTypeScript1.0;C:Program FilesMicrosoft SQL Server120ToolsBinn;C:Program FilesJavajdk1.8.0bin;C:ProgramDataAnaconda2;C:ProgramDataAnaconda2Scripts;C:ProgramDataAnaconda2Librarybin;C:Program Filesdotnet;C:Program FilesMicrosoft SQL Server130ToolsBinn;C:Program Files (x86)Pandoc;C:Program FilesGitcmd;C:Program Files (x86)Microsoft SQL Server100ToolsBinnVSShellCommon7IDE;C:Program Files (x86)Microsoft SQL Server100DTSBinn;C:Program Files (x86)Microsoft Visual Studio 9.0Common7IDEPrivateAssemblies;C:UsersKA.dnxbin;C:Program FilesMicrosoft DNXDnvm;C:Program Files (x86)nodejs;C:ProgramDatachocolateybin;;C:Program Files (x86)LINQPad5;C:Ruby22bin;C:Python27;C:Python27Scripts;C:UsersKAAppDataLocalatombin;C:Program Filesherokubin;C:Python27Scriptspip.exe;C:UsersKAAppDataRoamingnpm;C:UsersKAAppDataLocalProgramsMicrosoft VS Codebin;C:UsersKAAppDataRoamingnpm;C:UsersKA.dotnettools
9 verbose lifecycle jsx@0.1.0~start: CWD: C:UsersKAreactjsx
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)nodejsnode_modulesnpmnode_modulesnpm-lifecycleindex.js:301:16)
13 verbose stack     at EventEmitter.emit (events.js:197:13)
13 verbose stack     at ChildProcess.<anonymous> (C:Program Files (x86)nodejsnode_modulesnpmnode_modulesnpm-lifecyclelibspawn.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:UsersKAreactjsx
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 ]

在项目根目录中创建一个.env.development文件,并包含以下行:

BROWSER=chrome
<</div> div class="one_answers">

在窗口中,设置 env 变量:

set BROWSER=chrome

然后像往常一样做npm start

如果你在 wndows 它的

BROWSER=chrome npm start

Linux 是

BROWSER=google-chrome npm start

马科斯是

BROWSER=google chrome npm start

在这里,您在一行中使用两个命令,其中一个是设置环境变量,另一个是启动节点.js。命令行中的命令应如下所示:

set BROWSER=chrome
npm start

或者,您可以在运行节点之前在系统环境中设置浏览器环境变量.js

将默认浏览器更改为 Chrome 或使用:

"start": "cross-env BROWSER='Google Chrome' react-scripts start",

转到您的 Windows 设置并搜索默认浏览器并根据您的选择进行设置....我面临着同样的问题,并通过这样做解决了它......

在 Mac 上,启动脚本应包含引号google chrome

"start": "BROWSER='google chrome' react-scripts start"

现在npm start将在Chrome中打开它。

如果您希望灵活地使用不同的浏览器,请将以下内容添加到 package.json 文件中:

"scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "chrome": "BROWSER='google chrome' react-scripts start",
    "safari": "BROWSER=safari react-scripts start"
}

这些脚本适用于 npm run chromenpm run safari

只需运行 npm start如果您想在Chrome或任何其他浏览器中打开它,它会打开普通浏览器只需复制 URL 并将其粘贴到所需的浏览器中

本地主机:3000

就我而言,这是网址

或者

你可以直接删除"last 1 firefox version", "last 1 safari version",只让"last 1 chrome version",留在你的包中.json

相关内容

最新更新