美文网首页
微信sdk的本地开发

微信sdk的本地开发

作者: LOWINC | 来源:发表于2019-02-02 15:06 被阅读0次

1.前置知识点

1.1 默认端口为80

localhost === localhost:80
www.baidu.com === www.baidu.com:80
微信安全域名不能带上端口号 所以我们得将前端项目在80端口上访问
即监听80端口然后转发到npm run dev 时真正的端口

1.1.1 这里要解决两个问题
  1. 80端口
  2. 跨域

这里提供两个解决方法,本篇教程将使用nginx的方法解决

  1. 将webpack的devServer配置成 在80端口上访问然后在node后台上设置 cros *
  2. 前端和后台不做额外配置 将nginx监听80端口然后转发前端页面和后台接口到相应的端口

1.2 微信sdk在配置了安全域名后才能使用

1.2.1 解决方法

natapp可以将本地访问前端项目的地址穿透到外网

1.2.2 注意点

因为我们使用了nginx转发 所以我们前端项目下在本地的访问地址的端口号80

image

2.主要有一下几步

  1. 安装微信sdk
  2. 配合natapp配置微信安全域名
  3. 使用nodejs编写微信后台
  4. 使用nginx转发接口
  5. 微信开发者工具上测试
  6. 将配置微信分享的代码发布到npm包

2.1 安装微信sdk

  yarn add weixin-js-sdk

2.2 配合natapp配置微信安全域名

natapp可以穿透本地端口
http://iamtyt.natappfree.cc/ 穿透到本地前端开发时的端口 127.0.0.1:80
这边<b>注意</b>要将本地端口号改为<b>80</b>因为在“4.使用nginx转发接口”中项目将在80端口上进行开发


2.3 使用nodejs编写微信后台


2.4 使用nginx转发接口

这里说一下为什么要使用nginx

  1. 微信安全域名不能带上端口号(默认为80)所以要讲默认端口号转发到开发时(npm run dev)的端口

  2. 当项目在80端口上打开时发生请求会出现跨域问题,所以将/api/开头的地址也转发到node服务(node index.js)的端口

nginx的配置

    server {
        # 监听80端口号
        listen 80;

        location / {
            # 把页面的请求转发到前端服务所在的端口
            proxy_pass http://192.168.4.13:8081;
        }

        location /api/ {
            # 把接口的请求转发到后端服务所在的端口
            rewrite  ^/api/(.*)$ /$1 break;
            proxy_pass http://192.168.4.13:3000;
        }
    }

相关文章

网友评论

      本文标题:微信sdk的本地开发

      本文链接:https://www.haomeiwen.com/subject/jxvssqtx.html