使用Node在浏览器打开某个网页
时间:2022-07-27
本文章向大家介绍使用Node在浏览器打开某个网页,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
使用Node在浏览器打开某个网页,其实就是使用子进程来用命令行打开网页链接就可以了,需要注意的是Mac
系统使用的是open
命令,Windows
系统使用的是start
命令,Linux等系统使用xdg-open
命令。针对不同的操作系统使用不同的命令。
代码
首先创建一个index.js
文件,然后写我们的代码:
const child_process = require('child_process');
var openURL = function (url) {
// 判断平台
switch (process.platform) {
// Mac 使用open
case "darwin":
child_process.spawn('open', [url]);
break;
// Windows使用start
case "win32":
child_process.spawn('start', [url]);
break;
// Linux等使用xdg-open
default:
child_process.spawn('xdg-open', [url]);
}
};
openURL("https://www.kai666666.top/");
运行
在当前命令行运行下面命令,可以看到浏览器已经打开我们的网页了。
node index.js
优化
往往在代码中直接写死地址是不好的,我们使用传过来的参数视为打开的URL,修改index.js
文件最后1行代码:
- openURL("https://www.kai666666.top/");
+ let url = process.argv[2];
+ if (url) {
+ openURL(url);
+ } else {
+ console.log("请输入URL");
+ }
上面process.argv
是一个数组,其中0下标的数据是node的路径,1下标的数据是执行文件也就是这里的index.js
文件的路径,2到多下标中的数据是后面传入的数据,上面我们只检查2下标的数据。
最后使用下面命令启动:
node index.js https://www.kai666666.top/
更多
看到上面这你会不会想到,自己封装一下打开网页的方法呢?其实已经有人这么做了,你可以看看open库,它就是使用代码来打开网页的(其实不仅仅是网页),著名的webpack插件open-browser-webpack-plugin就是使用它在启动的时候打开一个页面。当然它是需要用代码来启动的,你可能希望直接在命令行来启动,就像我们上面那样,那你可以看看open库作者的另一个库:open-cli,内部也是使用open
库来启动的,只是封装了一层命令行传URL的过程。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- forin forof forEach myForEach
- 深拷贝,你懂吗?
- Codeforce-CodeCraft-20 (Div. 2)-C. Primitive Primes(本原多项式+数学推导)
- DOM事件机制(原理级别的)
- 杭电60题--part 1 HDU1003 Max Sum(DP 动态规划)
- js的的的图片随屏幕滚动而滑入滑出的效果(万 万。。。字长文)
- Codeforce-CodeCraft-20 (Div. 2)-B. String Modification (找规律+模拟)
- Codeforce-CodeCraft-20 (Div. 2)-A. Grade Allocation
- Cypress系列(69)- route() 命令详解
- Codeforce-Ozon Tech Challenge 2020-D. Kuroni and the Celebration(交互题+DFS)
- Codeforce 263D Cycle in Graph 搜索 图论 哈密尔顿环
- codeforce 266c Below the Diagonal 矩阵变换 (思维题)
- Codeforce-Ozon Tech Challenge 2020-C. Kuroni and Impossible Calculation(鸽笼原理)
- 探索ParNew和CMS垃圾回收器
- Codeforce-Ozon Tech Challenge 2020-B. Kuroni and Simple Strings(贪心)