使用Node在浏览器打开某个网页,其实就是使用子进程来用命令行打开网页链接就可以了,需要注意的是Mac
系统使用的是open
命令,Windows
系统使用的是start
命令,Linux等系统使用xdg-open
命令。针对不同的操作系统使用不同的命令。
代码
首先创建一个index.js
文件,然后写我们的代码:
1 | const child_process = require('child_process'); |
运行
在当前命令行运行下面命令,可以看到浏览器已经打开我们的网页了。
1 | node index.js |
优化
往往在代码中直接写死地址是不好的,我们使用传过来的参数视为打开的URL,修改index.js
文件最后1行代码:
1 | - openURL("https://www.kai666666.com/"); |
上面process.argv
是一个数组,其中0下标的数据是node的路径,1下标的数据是执行文件也就是这里的index.js
文件的路径,2到多下标中的数据是后面传入的数据,上面我们只检查2下标的数据。
最后使用下面命令启动:
1 | node index.js https://www.kai666666.com/ |
更多
看到上面这你会不会想到,自己封装一下打开网页的方法呢?其实已经有人这么做了,你可以看看open库,它就是使用代码来打开网页的(其实不仅仅是网页),著名的webpack插件open-browser-webpack-plugin就是使用它在启动的时候打开一个页面。当然它是需要用代码来启动的,你可能希望直接在命令行来启动,就像我们上面那样,那你可以看看open库作者的另一个库:open-cli,内部也是使用open
库来启动的,只是封装了一层命令行传URL的过程。