如何使用特定的浏览器“ npm start”?

时间:2018-08-06 11:45:32

标签: javascript node.js npm

  

npm开始

在默认浏览器(对我来说是Firefox)上启动react服务器。我喜欢Firefox进行浏览,但是更喜欢Chrome进行开发人员工具进行Web开发。有没有一种方法可以强制“ npm start”使用Chrome启动服务器,而无需将默认浏览器更改为chrome?我正在Windows上使用Bash。

编辑:我使用“ create-react-app”创建服务器,这添加了script to "packages.json" file for "npm start"。该脚本使用默认浏览器启动localhost服务器。如何修改“ create-react-app”添加的脚本,使其以其他浏览器开头?

15 个答案:

答案 0 :(得分:18)

正如您提到的那样,您正在使用create-react-app来创建react应用,并且您希望Chrome在点击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"
    

答案 1 :(得分:8)

这可以通过BROWSER环境变量来实现。

您也可以直接在终端中执行此操作: BROWSER=chrome npm start

这在Advanced Configuration docs中有描述:

  

默认情况下,Create React App将打开默认的系统浏览器,并支持macOS上的Chrome。指定浏览器以覆盖此行为,或将其设置为none以完全禁用它。如果需要自定义启动浏览器的方式,则可以指定节点脚本。传递给npm start的所有参数也将传递给此脚本,并且为您的应用提供服务的url将是最后一个参数。您脚本的文件名必须具有.js扩展名。

还请注意,不同平台上的浏览器名称不同:

  

应用名称取决于平台。不要在可重用模块中对其进行硬编码。例如,Chrome在macOS上是google chrome,在Linux上是google-chrome,在Windows上是chrome。

答案 2 :(得分:7)

使用上述技术,可能会导致错误 'BROWSER' is not recognized as an internal or external command, operable program or batch file.

要克服这个 在克隆的存储库中进行cross-env的npm安装: npm install --save cross-env

尝试在package.json文件中使用此命令

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

BROWSER是一个环境变量,您可以使用cross-env包正确处理它。

答案 3 :(得分:3)

使用NodeJS应用程序根目录中的.env文件的方法。

BROWSER="firefox developer edition"

答案 4 :(得分:1)

在Windows cmd中,为所需的浏览器设置env变量:

set BROWSWER=chrome

然后像平常一样运行npm start

答案 5 :(得分:1)

如果您是 Windows 用户,请转至坐着->默认应用程序-> Web浏览器,然后选择所需的浏览器。如果您是 Linux < / strong>用户,然后转到系统设置->详细信息。 (注意:在旧版Ubuntu中,详细信息被称为系统信息

Sitting of windows

Sitting of linux

答案 6 :(得分:1)

这是我解决我问题的方法:

我在vsCode上打开了应用程序,然后通过终端运行了"BROWSER=Chrome npm start".

答案 7 :(得分:1)

只需将 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"
}

应该可以!

答案 8 :(得分:1)

如果您想在运行 npm startyarn 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

适合自己。

答案 9 :(得分:0)

将脚本添加到package.json文件

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

答案 10 :(得分:0)

我不想每次都使用附加命令来反复创建新的 .env 文件或在 npm start 之前添加前缀。您可以在shell配置文件中指定选择的浏览器,而不是 none 。在终端中输入以下命令:

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

此时,您可以运行npm start并感到高兴。

答案 11 :(得分:0)

我们可以改变浏览器设置-->默认浏览器-->改变你喜欢的浏览器

现在你输入------>npm start

答案 12 :(得分:0)

Brave 浏览器是 BROWSER=brave-browser npm start

答案 13 :(得分:-1)

有一个名为set-default-browser https://www.npmjs.com/package/set-default-browser

的软件包

只需从那里下载软件包并添加以下代码

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

setDefaultBrowser("chrome");

或者您也可以运行此set-default-browser chrome

谢谢!

答案 14 :(得分:-1)

要在chrome中打开,我们需要将其设置为默认浏览器。

设置->默认浏览器->设为默认->

,如果选择了其他浏览器,则选择chrome。

它适用于Windows 10。