本地开发云端响应【如用于微信公众号后端开发】

108 阅读1分钟

一、云端安装Node

使用nvm安装:

github.com/nvm-sh/nvm

二、VSCode插件

SFTP:同步本地代码到ftp服务

三、创建同步目录

如在服务器创建:/home/dol/myApplication/wechat

本地开发项目名:wechat

四、本地配置

command+shift+p=》开始默认配置:

默认配置文件如下:

开始配置

{
    "name": "wechat",
    "host": "**",
    "protocol": "sftp",
    "port": 22,
    "username": "**",
    "password": "**",
    "remotePath": "/home/dol/myApplication/wechat",
    "uploadOnSave": true,
    "useTempFile": true,
    "openSsh": false,
    "connectTimeout": 500,
    "watcher": {
        "files": "**/*",
        "autoUpload": true,
        "autoDelete": true
    },
    "ignore": [
        "node_modules",
        ".git",
        ".vscode",
        "**/node_modules"
    ]
}

五、查看服务端同步

本地开发创建文件

服务端自动生成文件,注意服务端文件会带有~

六、项目搭建

本地npm init初始化项目,进入云端,安装依赖,如

npm i express
npm i nodemon -D

因为我们在云端进行了改动,所以需要下载文件

然后本地把node server.js改成nodemon server.js就会自动同步到云端

七、本地开发云端运行

在云端启动项目,如npm run start

在本地对文件进行修改,云端自动执行。

云端安装express项目相关第三方包

npm i axios cookie-parser cors express-xml-bodyparser sha1

同时要在package中增加"type": "module",导入文件使用ES Module语法,同步到本地

简单启动服务

import express from 'express'
const app = express()

app.get("/",(req,res)=>{
    res.send({
        hello:'hello'
    })
})
app.listen(8080,()=>{
    console.log(`running on 8080`)
})

八、反向代理

server {
    listen 80;
    server_name cutecode.cn;

    location / {
        root /var/www/test;
        index index.html;
    }

    location /wechat/ {
        # 代理传递到本地的Node.js服务器
        proxy_pass http://localhost:8080/;
        
        # 可选配置,用于正确处理HTTP头
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        
        # 处理WebSocket连接,如果需要
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_cache_bypass $http_upgrade;
    }
}