在NodeJS中,我使用包Open在ExpressJS服务器准备就绪后在Chrome上打开一个新标签。
app.listen(port, () => console.log(`Express server is listening on port ${port}!`));
open(`http://localhost:${port}`);
但是,当使用Nodemon在更改时重新加载Express服务器时,我最终得到了多个具有相同地址的标签: http://localhost:3000,每次打开时,都会打开一个新标签页。
NodeJS是否可以在防止重复的情况下在Chrome上打开新标签页?由于这是出于开发目的,如果需要任何标志,我可以完全访问Chrome。我可以使用Sockets来查看是否还有任何客户端连接,但是感觉必须有一种更简单的方法。有吗?
答案 0 :(得分:1)
这是否必须使用Node JS代码解决?如果不是,您是否考虑过使用浏览器插件来防止出现重复的标签?似乎确实是浏览器的关注点。甚至将open()命令放在您的Node JS代码中似乎也很困难。为什么不使用这样的东西从命令行中将它们组合起来呢?这就是为什么除非绝对必要,否则您不将代码仅用于开发环境的问题。
node my-app.js && chrome
关于扩展,以下是一些快速搜索:
让我知道这种方法的改变是否对您有帮助。