【问题标题】:How do I get npm start to open a specific profile on Chrome?如何让 npm start 在 Chrome 上打开特定配置文件?
【发布时间】:2021-03-16 23:37:18
【问题描述】:

我有一个单独的 Chrome 配置文件来进行开发工作。

当我运行 npm start 时,它会打开我的默认 Chrome 配置文件。

我希望它打开我的开发资料。

我尝试在项目的根目录中创建一个.env 文件,其中包含以下内容

REACT_APP_BROWSER=chrome
REACT_APP_BROWSER_ARGS=--profile-directory="Profile 1"

安装env-cmd 并在package.json 文件的脚本部分更改启动命令

"start": "env-cmd .env npm react-scripts start",

但是当我运行npm start 时,我收到以下错误:

alex@Alex-PC:~/code/udemy/grider/pics$ npm start

> pics@0.1.0 start /home/alex/code/udemy/grider/pics
> env-cmd .env npm react-scripts start

spawn .env ENOENT
npm ERR! code ELIFECYCLE
npm ERR! errno 130
npm ERR! pics@0.1.0 start: `env-cmd .env npm react-scripts start`
npm ERR! Exit status 130
npm ERR! 
npm ERR! Failed at the pics@0.1.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/alex/.npm/_logs/2020-12-04T22_27_25_381Z-debug.log

我是走在正确的轨道上还是完全走错了方向?

【问题讨论】:

  • 下面的答案有帮助吗?

标签: node.js reactjs npm npm-start


【解决方案1】:

不需要任何额外的库。看来您正在使用 react 并且 react-scripts 已经在使用 dotenv,因为可以看到 here。这也意味着不需要添加启动脚本:"start": "react-scripts start"

使用 dotenv,您可以在根目录中创建一个 .env 文件,并使用以下选项,从 here 可以看到。

.env

BROWSER=google-chrome
BROWSER_ARGS=--profile-directory="Profile 1"

注意:google-chrome 在 Linux 上/chrome 在 Windows 上用于 BROWSER 变量

BUT ISSUE 似乎是因为配置文件名称中的空格,它只会传递空格之前的部分。 Chrome 使用内部配置文件名称作为配置文件目录,默认情况下创建内部配置文件名称,其中包含空格。

似乎没有办法传递带有空格的配置文件名称(无论是否使用引号/转义引号/其他变量等),但我真的希望我能在这个问题上得到纠正。

空格问题的解决方法:创建一个没有空格的新配置文件名称。如果您只运行npm start 并且您在.env 文件中分配的配置文件名称与浏览器中已有的配置文件名称不匹配,这将自动发生。之后只需在其中同步您的帐户并正常使用即可。

【讨论】:

    猜你喜欢
    • 2022-12-24
    • 1970-01-01
    • 1970-01-01
    • 2022-12-20
    • 1970-01-01
    • 2021-03-24
    • 2018-08-22
    • 2021-05-04
    • 2023-02-10
    相关资源
    最近更新 更多