这应该是前端转后端最简单的办法了,不买服务器、不配 Nginx,也能写服务端接口,腾讯云云函数全栈实践

前言:后端开发真的太累了

作为一个想做独立开发的前端或全栈工程师,每当你想写个小项目(比如工具箱、记账本、个人博客)时,热情往往在配置后端的瞬间熄灭:

  1. 买服务器:几百块一年,性能还一般。
  2. 配环境:SSH 连上去,装 Node、PM2、Nginx,防火墙配置。
  3. 搞域名:买域名、备案(最劝退的一步)、配置 HTTPS 证书。
  4. 写接口 :纠结 RESTful 规范,/api/v1/add 还是 /add?参数放 Body 还是 Query?

我就想写个 简单 的接口,至于这么折腾吗?

今天,我要给你安利一套 "零成本"、"免运维"、"免域名" 的全栈接口方案: 腾讯云 SCF (云函数) + 函数 URL + rpc-server-scf

你只需要写纯粹的 JS 函数,它就能自动变成 HTTP 接口,不用管服务器,甚至不用管 Nginx!


🚀 什么是 rpc-server-scf?

它是 js-rpc 生态中专为 腾讯云云函数 (SCF) 设计的服务端框架。

它的核心理念是:把云函数变成一个 RPC 服务器 。 你不需要关心 HTTP 请求的报文结构,不需要关心 API 网关的参数透传。你只需要在 api/ 目录下写函数,前端就能直接调用。


🛠️ 后端实战:3步搭建云端 RPC

我们将使用腾讯云 SCF 的 "函数 URL" 功能,它会直接分配给你一个公网 HTTPS 地址,让你彻底告别 API 网关配置和域名备案。

第一步:准备代码

在本地创建一个文件夹,初始化 npm:

bash 复制代码
mkdir my-scf-rpc
cd my-scf-rpc
npm init -y
npm install rpc-server-scf

第二步:编写业务逻辑 (api/math.js)

我们不需要写路由,只需要在 api 目录下创建文件。文件名就是模块名。

api/math.js

javascript 复制代码
module.exports = {
  // 加法
  async add(a, b) {
    return a + b;
  },
  
  // 乘法
  async multiply(a, b) {
    return a * b;
  },

  // 稍微复杂点的逻辑
  async calculate(params) {
    // 这里可以连数据库、Redis,或者做任何后端逻辑
    const { x, y, op } = params;
    if (op === 'minus') return x - y;
    return 0;
  }
}

index.js (入口文件)

一行代码,启动 RPC 服务:

javascript 复制代码
const { createRpcServer } = require('rpc-server-scf');

// 导出 main_handler 给云函数调用
exports.main_handler = createRpcServer();

这就写完了! 没有 Express,没有 app.listen,代码极其干净。

第三步:部署到腾讯云 SCF(开启"白嫖"模式)

  1. 登录 腾讯云云函数控制台

  2. 点击 "新建" -> 选择 "从头开始"

    • 函数名称 :随便填,比如 rpc-demo
    • 运行环境:Nodejs 16.13 或以上。
  3. 上传代码

    • 将你的项目文件夹(包含 node_modules)压缩成 zip 包上传,或者直接在在线编辑器里创建文件并安装依赖。
  4. 🔥 关键步骤:启用访问服务 (函数 URL)

    • 在"访问服务"或"触发器"配置中,找到 【函数 URL】
    • 点击 "启用"
    • 鉴权方式 :选择 "不校验 (PUBLIC)"(为了演示方便,生产环境可在代码里用中间件鉴权)。
    • 你将获得一个长这样的地址:https://你的函数ID.scf.tencentcs.com

    (如图所示,不用买域名,直接送你一个 HTTPS 的公网地址!)


⚡️ 前端如何调用?

现在你的后端已经跑在云端了。前端(小程序、UniApp、Web)怎么调?

我们使用配套的客户端 rpc-client-request(专为小程序/UniApp/HTTP场景设计)。

安装

bash 复制代码
npm install rpc-client-request

调用代码

在小程序或 UniApp 中:

javascript 复制代码
import { create } from 'rpc-client-request';

// 填入刚才腾讯云分配给你的"函数 URL"
const rpc = create({
  url: 'https://service-xxxx.scf.tencentcs.com/release/rpc-demo' 
});

// 业务调用
async function test() {
  try {
    // 像调用本地函数一样!
    // 自动发请求给 api/math.js 的 add 方法
    const sum = await rpc.math.add(10, 20);
    
    console.log('计算结果:', sum); // 30
    
  } catch (err) {
    console.error('调用出错', err);
  }
}

完事! 你没有写 wx.request,没有拼接 URL,没有处理 POST 参数,一切就像在写本地代码。


🌟 为什么这套方案是"独立开发者"的神器?

1. 真正的"零运维" (Serverless)

你不需要维护服务器进程,不需要配置 Nginx 反向代理,不需要担心服务器挂掉。腾讯云帮你托管,有请求自动唤醒,没请求自动休眠。

2. 免域名,自带 HTTPS

利用 SCF 的 "函数 URL" 功能,你省去了购买域名、备案(通常需要半个月)、申请 SSL 证书的所有繁琐流程。起步阶段直接用官方链接,省时省力。

3. "白嫖"级成本

腾讯云 SCF 有免费额度(或者非常低廉的按量付费)。对于个人项目、测试项目或者低频工具类应用,成本几乎为 0。只有当你的业务真的做大了,才需要支付少量费用。

4. 极致的开发体验

  • 后端:只写业务函数,文件即路由。
  • 前端:RPC 调用,像调本地方法一样顺滑。
  • 全栈:你可以把精力 100% 放在业务逻辑上,而不是浪费在 HTTP 协议的翻译工作中。

🔗 总结与资源

如果你厌倦了传统的后端开发流程,想快速上线一个全栈应用,SCF + 函数 URL + js-rpc 绝对是你现在的最佳选择。

  • 项目 GitHub : github.com/myliweihao/...
  • 服务端 SDK : npm install rpc-server-scf
  • 小程序客户端 : npm install rpc-client-request

别再让"服务器运维"阻挡你改变世界的创意了,现在就开始吧!

相关推荐
码途进化论2 小时前
Vue3 防重复点击指令 - clickOnce
前端·javascript·vue.js
神秘的猪头2 小时前
🎣 拒绝面条代码!手把手带你用自定义 Hooks 重构 React 世界
javascript·react.js
小二·2 小时前
从零手写俄罗斯方块(Tetris)——前端工程化实战与性能优化
前端·性能优化
xiaoxue..2 小时前
高频事件的“冷静剂” 闭包的实用场景:防抖与节流
前端·javascript·面试·html·编程思想
优弧2 小时前
2025 提效别再卷了:当我把 AI 当“团队”,工作真的顺了
前端
.try-2 小时前
cssTab卡片式
java·前端·javascript
怕浪猫3 小时前
2026最新React技术栈梳理,全栈必备
前端·javascript·面试
ulias2123 小时前
多态理论与实践
java·开发语言·前端·c++·算法
Bigger3 小时前
Tauri (24)——窗口在隐藏期间自动收起导致了位置漂移
前端·react.js·app