nest服务器消息处理(部分)

 

=====================================================================================

1.json: 服务器有长度限制,express框架默认100k长度数据
长度限制参考:
https://www.cnblogs.com/vipstone/p/4865079.html
https://blog.csdn.net/qq_36060786/article/details/85238836
https://blog.csdn.net/y75475/article/details/86716308
https://www.cnblogs.com/chyingp/p/nodejs-learning-express-body-parser.html
client:
let data = {
    a1,
    a2,
};
let xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
    if (xhr.readyState == 4) {
        if (xhr.status >= 200 && xhr.status <= 300 || xhr.status == 304) {
            console.log('xxx', xhr.response);
        }
    } else {
    }
}
let requestUrl = "http://xxx.xxx.xxx/xxx";
xhr.open('POST', requestUrl, true);
xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8');
xhr.send(JSON.stringify(data));

server:
@Post("xxx")
async xxx(@Body() body, @Res() res: Response) {
    console.log(body.a1, body.a2);
    res.status(HttpStatus.OK).send("ok");
}

=====================================================================================

2.form
client:
let forms = new FormData();
forms.append("a1", xxx);
forms.append('a2', xxx);
let xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
    if (xhr.readyState == 4) {
        if (xhr.status >= 200 && xhr.status <= 300 || xhr.status == 304) {
            console.log('xxx', xhr.response);
        }
    } else {
    }
}
let requestUrl = "http://xxx.xxx.xxx/xxx";
xhr.open('POST', requestUrl, true);
xhr.send(forms);

server:使用multiparty解析,
参考https://www.cnblogs.com/zhensg123/p/11078579.html
https://www.cnblogs.com/web-wjg/p/9244074.html
注意在使用中间件时候:
  前端不要执行这句:
  oAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");  //formdata数据请求头需设置
  否则multiparty会失效。
  
  后端除了利用这multiparty去接收,还可以原生去接收。原生接收需要设置
oAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");  //formdata数据请求头需设置
  这时候会出现req.body里面,然后去解析,不过貌似有些麻烦。本文也没有处理。
=====================================================================================

3.form
client同上

server:

@Post("xxx")
@UseInterceptors(FileInterceptor('xxxfile'))
async xxx(@Body() body, @Res() res: Response) {
    console.log(body.a1, body.a2);
    res.status(HttpStatus.OK).send("ok");
}


 

下面是将 NestJS 应用程序打包部署到服务器的具体流程: 1. 编写 NestJS 应用程序代码:首先,你需要编写 NestJS 应用程序的代码,并进行本地测试和调试,确保应用程序能够正常运行。 2. 安装依赖包:在部署之前,你需要将应用程序所依赖的第三方包安装到本地项目中。可以使用 npm 或者 yarn 命令来安装依赖包,例如: ``` npm install ``` 3. 配置环境变量:应用程序的运行需要依赖一些环境变量,例如数据库连接信息等。你可以在应用程序的根目录下创建一个 `.env` 文件,将需要的环境变量配置在文件中。 4. 打包应用程序:在部署之前,你需要将应用程序打包成一个可执行的文件或者一个 Node.js 模块。可以使用 npm 或者 yarn 命令来打包应用程序,例如: ``` npm run build ``` 5. 部署应用程序:部署应用程序的方式可以选择 Docker、PM2、Nginx 或者直接部署到服务器等方式。在部署过程中,你需要将应用程序的打包文件上传到服务器,并根据具体的部署方式进行配置和操作。比如,使用 PM2 部署应用程序可以通过以下步骤: - 在服务器上安装 Node.js 和 PM2。 - 将应用程序的打包文件上传到服务器。 - 使用 PM2 命令启动应用程序,例如: ``` pm2 start dist/main.js --name myapp ``` 6. 配置反向代理(可选):如果你使用 Nginx 反向代理部署应用程序,你需要在 Nginx 配置文件中添加反向代理规则,将客户端的请求转发到应用程序所监听的端口上。 以上就是将 NestJS 应用程序打包部署到服务器的具体流程。在部署过程中,你需要注意应用程序的安全性和可靠性,定期备份应用程序和数据,并进行监控和维护等工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

GrimRaider

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

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

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

打赏作者

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

抵扣说明:

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

余额充值