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”添加的脚本,使其以其他浏览器开头?
答案 0 :(得分:18)
正如您提到的那样,您正在使用create-react-app
来创建react应用,并且您希望Chrome在点击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"
答案 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中,详细信息被称为系统信息)
答案 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 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
适合自己。
答案 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。