使用node的express框架,利用内网穿透实现不需要服务器,让别人访问自己的一个项目

本文介绍如何通过Node服务器部署Vue项目,并解决跨域问题及使用natapp实现内网穿透的方法。

首先强调几个遇到的问题

  1. 直接打开 vue 打包后的 dist 文件夹里的 index.html 是无法正常访问的,因为资源的路径会发生问题
  2. 跨域问题
  3. 使用 node 开放资源目录
  4. natapp 连接隧道失败
  5. 以下步骤要配置node环境
    在这里插入图片描述

过程

首先将 vue 项目打包, 生成dist文件夹
在这里插入图片描述
直接把 dist 文件夹放到 node 服务器与 app.js 同级目录
在这里插入图片描述
此时我们进入 app.js

const express = require('express')
const app = express();

// 设置允许跨域访问该服务
app.all("*",function(req,res,next){
  //设置允许跨域的域名,*代表允许任意域名跨域
  res.header("Access-Control-Allow-Origin","*");
  //允许的header类型
  res.header("Access-Control-Allow-Headers","content-type");
  //跨域允许的请求方式
  res.header("Access-Control-Allow-Methods","DELETE,PUT,POST,GET,OPTIONS");
  if (req.method.toLowerCase() == 'options') {
    res.send(200);
  }  //让options尝试请求快速结束
  else {
    next();
  }
})

// 开放服务器 dist 目录,访问时会自动寻找index.html文件
app.use(express.static('dist'))

// 端口
app.listen(3000,function () {
  console.log("// -----------------------------------------------------------------------")
  console.log("port 3000 is listening")
});

在当前项目的server目录, 命令行运行

node app.js

此时的网页仅仅是可以在本地访问, 但是使用了内网穿透技术, 我们可以使得别人直接访问到我们本地的项目, 不需要部署服务器, 对于用于测试和买不起服务器的我表示很香

好的,下面演示

首先需要进入 natapp 的官网 官网链接

然后选择注册或者登录, 需要实名认证
在这里插入图片描述
注册完毕后 看那个免费隧道, 真的不错
在这里插入图片描述
在配置隧道的时候, 需要注意的是, 我node服务器使用的端口号是 3000
这里也需要填写 3000
在这里插入图片描述
and, 写到这里的时候, 我突然想起来还要安装下载 natapp, 但是很简单, 不要慌
在这里插入图片描述
然后直接安装就可以了

在这里插入图片描述
在 config.ini 需要配置一下

#将本文件放置于natapp同级目录 程序将读取 [default] 段
#在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置
#命令行参数 -config= 可以指定任意config.ini文件
[default]
authtoken=你自己的隧道authtoken,可以在natapp官网里的我的隧道查看               #对应一条隧道的authtoken
clienttoken=                    #对应客户端的clienttoken,将会忽略authtoken,若无请留空,
log=none                        #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none
loglevel=ERROR                  #日志等级 DEBUG, INFO, WARNING, ERROR 默认为 DEBUG
http_proxy=                     #代理设置 如 http://10.123.10.10:3128 非代理上网用户请务必留空

配置完成后, 点击 natapp,exe , 如果显示的是下面的页面, 表示成功了
在这里插入图片描述
然后搜索你下面红框中的 http地址, 即可成功实现在这里插入图片描述
最后演示一下成果, 已经可以在手机访问了
在这里插入图片描述
当然在最后一步连接隧道时, 可能会遇到问题, 报错的评论区扣,或者私信截图

连接隧道报错解决方法

显示如下图:
在这里插入图片描述
更换阿里公共DNS
连不上网络错误调试排查详解

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

秦书翔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值