NodeJS 傻瓜式本地WEB浏览小工具

 写在最前 

        最近做个项目,有个需求是PC主机拍照后临时缓存在主机里,反馈给平板,平板的APP收到信息更新新拍照的几张照片,本想着都是本地局域网有毛怕的,直接用window iis 开个web服务好了。所有项目都一个样,等看起来完工的时候了,就开始找小问题,客户这怕那怕不安全的。说iis不安全的...(*#^$(@#&$^XXXX。 拗不过。 想着用python一行命令开一个,又怕到时主机又没有python环境。好在PC主机的程序是electron框架打包的exe,那就直接用node 加个web服务了。感觉快又挺好用的,就单独提出来做成一个工具,供以后本地看html文档也不错。 

 独立执行程序 

        代码简单,网上也有很多示意。没兴趣看只想应急用用

                点这里下载EXE直接使用~

       
截图

        

代码 (仅供初学爱好者参考哈~)

 主文件代码

web.js

'use strict'
console.log('\n提示:没有指定路径参数,使用当前程序所在目录为WEB根目录.\n');
console.log('-:打开CMD命令窗口,运行程序可加参数.');
console.log('1:指定开启WEB服务的目标路径。(如:web d:/xxx/xx)');
console.log('2:默认端口是8080,如要改端口,加第三个参数(如:web d:/xxx/xx 8081)\n'); 
 
const fs = require('fs'); 
const express = require('express');
const path = require('path'); 
const appExpress = express(); 
  
// 指定静态文件目录
const exeDir=process.argv[0];
let oriDir=exeDir.substr(0,exeDir.lastIndexOf('\\'));
let staticDirectory = path.join(oriDir); 
// 通过命令传参指定静态文件目录
if(process.argv[2])staticDirectory = path.join(process.argv[2]);

appExpress.use(express.static(staticDirectory)); 
 
// 设置默认GET处理程序,返回index.html...
appExpress.get('/', function(req, res) {
  if(fs.existsSync(path.join(staticDirectory, 'index.html'))){
    res.sendFile(path.join(staticDirectory, 'index.html'));
  }
  else if(fs.existsSync(path.join(staticDirectory, 'index.htm'))){
    res.sendFile(path.join(staticDirectory, 'index.htm'));
  }
  else if(fs.existsSync(path.join(staticDirectory, 'default.html'))){
    res.sendFile(path.join(staticDirectory, 'default.html'));
  }
  else if(fs.existsSync(path.join(staticDirectory, 'default.htm'))){
    res.sendFile(path.join(staticDirectory, 'default.htm'));
  }
  else if(fs.existsSync(path.join(staticDirectory, 'tour.html'))){
    res.sendFile(path.join(staticDirectory, 'tour.html'));
  }  
});  
 
// 端口,根据命令传参是否赋值 
const PORT = process.argv[3]?process.argv[3]:8080;;
const webserve=appExpress.listen(PORT, () => {
  console.log(`\n Web服务已启动!\n`);
  console.log(' 当前WEB目录:',staticDirectory); 
  console.log(`\n 浏览地址: http://localhost:${PORT}`); 
}); 

 

依赖文件

        package.json

{
  "dependencies": {
    "clipboardy": "^2.3.0",
    "express": "^4.19.2"
  }
}

  测试说明:
  1. 保存以上两个文件在同一目录,确保安装了nodejs 环境后(下载nodejs
  2. 在文件所在目录里打开CMD命令窗口,运行 npm i 先安装依赖 。
    npm i
  3.  安装提示结束后。输入 node web 查看效果
    node web
    node web d:\xxx
    node web d:\xxx 8088

  4. 觉得麻烦吗?  那就试试这个,先下载安装(点我下载)这个,安装完成后,在你想要查看的html文档目录里,打开CMD 运行以下指令:

    python -m http.server 8080

  5.  然后浏览器里打开 :http://localhost:8080/

      

写在最后

 有效依赖文件是express,直接node 运行只要 安装 express 就行了。 其它依赖可忽略,  clipboardy是剪贴板功能,本用来在工具运行后,把当前浏览链接复制到剪贴板的,但是用pkg打包后运行就出错 , 有大佬知道原因嘛?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

myth long

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值