在后台运行React开发服务器的方法

问题描述 投票:0回答:6

我想问是否有任何方法可以在开发模式下将React应用程序作为后台进程运行,这样它就不会占用终端。我学习计算机科学,我使用 SSH 连接到学校 PC。这是我的老师要求的方式。作为我的项目,我选择响应应用程序,遗憾的是,当我的应用程序运行时,我无法使用终端。有什么方法可以运行“npm run start”作为后台进程,这样我仍然可以正常使用终端,也许稍后会终止该进程??

我尝试过的: 在命令中使用 & (不起作用,引发错误), PM2.5, nohup 命令

非常感谢

javascript reactjs linux typescript
6个回答
2
投票

使用 pm2

pm2 start "npm start" --name my_react_app


1
投票

使用终端多路复用器

screen


1
投票
  1. npm run start &
    - 它将在后台运行,但会在屏幕上打印所有信息,您可以按 Ctrl+L 清洁屏幕,然后进行其他作业。
  2. npm run start > /dev/null &
    - 与上面相同,但只会打印错误信息。
  3. npm run start > /dev/null 2>&1 &
    - 这个不会打印任何信息。

当你想结束它时,可以使用

jobs -l
查询它的PID,然后使用
kill + PID
杀死它,或者使用
fg
让它转到前面,然后按Ctrl+C结束进程。

另一种选择是使用终端多路复用器,如

Tmux
/
screen
/
Dvtm
,但需要学习成本。


0
投票

您可以使用PM2。

这个网站有一个使用 React.JS 安装和运行 PM2 的教程: https://dev.to/taufiqtab/deploy-reactjs-product-build-with-pm2-5dfo


0
投票

这取决于您使用的终端类型,但通常您可以在 Mac 上使用 cmd+T,在 Windows 上使用 ctrl+T 打开新的终端选项卡。这样您就可以在同一个终端中同时执行多项操作。希望这有帮助!


0
投票

内部需要一些类似的功能(在后台手动启动),并且刚刚发现它与

systemd
配合得很好。

# /etc/systemd/system/react-dev-server.service

[Unit]
Description=React Development Server
After=network.target

[Service]
User=myuser
WorkingDirectory=/home/myuser/my-react-client

# check with "which yarn"
ExecStart=/usr/local/bin/yarn start
Restart=always
Environment=NODE_ENV=development

[Install]
WantedBy=multi-user.target

$ sudo nano /etc/systemd/system/react-dev-server.service  # add content from above
$ sudo systemctl daemon-reload

# enable if you need autostart
# sudo systemctl enable your-service.service

$ sudo systemctl start react-dev-server.service
$ sudo journalctl -u  react-dev-server.service
# ...
$ sudo systemctl stop react-dev-server.service
Sep 15 10:32:40 vivo7 systemd[1]: Started React Development Server.
Sep 15 10:32:40 vivo7 yarn[430284]: yarn run v1.22.22
Sep 15 10:32:40 vivo7 yarn[430284]: warning package.json: No license field
Sep 15 10:32:40 vivo7 yarn[430284]: $ react-scripts start
Sep 15 10:32:41 vivo7 yarn[430306]: Starting the development server...
Sep 15 10:32:42 vivo7 yarn[430306]: Compiled successfully!
Sep 15 10:32:42 vivo7 yarn[430306]: You can now view  @myuser/my-react-app in the browser.
Sep 15 10:32:42 vivo7 yarn[430306]:   Local:            http://localhost:3000
Sep 15 10:32:42 vivo7 yarn[430306]:   On Your Network:  http://10.0.0.28:3000
© www.soinside.com 2019 - 2024. All rights reserved.