当前位置: 首页 > news >正文

重庆有专业做网站的吗品牌设计

重庆有专业做网站的吗,品牌设计,淘宝网页版登录,手机网站发号系统源码tRPC (Type-safe Remote Procedure Call) 是一个用于构建类型安全的 API 的框架,它能够在前端和后端之间共享类型,确保类型安全性。这对于使用 TypeScript 的项目特别有用,因为它消除了前后端类型不一致的问题,提高了开发效率和代…

tRPC (Type-safe Remote Procedure Call) 是一个用于构建类型安全的 API 的框架,它能够在前端和后端之间共享类型,确保类型安全性。这对于使用 TypeScript 的项目特别有用,因为它消除了前后端类型不一致的问题,提高了开发效率和代码质量。

trpc也可以集成到 Express, Fastify,Next中。Example Apps | tRPC

server/index.ts

import { createHTTPServer } from '@trpc/server/adapters/standalone';
import { appRouter } from './router';
import cors from 'cors';const server = createHTTPServer({middleware: cors(),router: appRouter,
});server.listen(3000, () => {console.log("server running on 127.0.0.1:3000");
});

server/router.ts

import { initTRPC } from '@trpc/server';
import { z } from 'zod';
const t = initTRPC.create();export const router = t.router;
export const publicProcedure = t.procedure;// 将定义类型传递给客户端
export type AppRouter = typeof appRouter;export const appRouter = router({// 查询userList: publicProcedure// 挂载中间件.use(async (opts) => {console.log('middleware1!');return opts.next();}).use(async (opts) => {console.log('middleware2!');return opts.next();})// 定义响应数据类型.output(z.array(z.object({id: z.number(),name: z.string(),age: z.number(),})),).query(async () => {return [{ id: 1, name: "Tom", age: 21 }];}),// 参数查询userById: publicProcedure// 定义接收参数类型.input(z.string()).query(async (opts) => {const { input } = opts;console.log("userById receive params:", input);return 'ok';}),// 修改userCreate: publicProcedure.input(z.object({ name: z.string() })).mutation(async (opts) => {const { input } = opts;console.log("userCreate receive params:", input);return 'update';}),
});

client.ts

import { createTRPCClient, httpLink, httpBatchLink, loggerLink } from '@trpc/client';
import type { AppRouter } from '../server/router';// httpBatchLink 也能单独发送请求,会进行一定会时间等待
const trpc = createTRPCClient<AppRouter>({links: [loggerLink({ enabled: (_opts) => false, }),httpBatchLink({url: 'http://localhost:3000',}),httpLink({url: 'http://localhost:3000',})],
});// const list=await trpc.userList.query();
// console.log(list);// 发送条件查询
const user = await trpc.userById.query('1');
console.log(user);// 发送修改请求
const createdUser = await trpc.userCreate.mutate({ name: 'sachinraja' });
console.log(createdUser);// const user2 = await trpc.userById.query(123);
// console.log(user2);// const createdUser2 = await trpc.userCreate.mutate({ name:"123", age: 21 });
// console.log(createdUser2);

http://www.dt0577.cn/news/27030.html

相关文章:

  • 在电脑上怎么创建微网站吗个人发布信息的免费平台
  • 怎样建立个人网站?网站建设需要多少钱
  • 怎样编辑网站关键词查找网站
  • 傻瓜式做网站百度正版下载
  • 在线做热图的网站网络营销的主要方式
  • 厦门专业做网站的公司佛山网站建设制作公司
  • 做公司网站教程视频seo外包费用
  • windows7做网站搜索引擎哪个最好用
  • 福州网站建设哪里有百度账号人工客服电话
  • 洛阳流感疫情最新消息杭州seo的优化
  • 只买域名不建网站如何创建属于自己的网站
  • 许昌企业网站去哪开发日本今日新闻头条
  • html网站 下载seo成功案例分析
  • 蒙古文网站建设新闻摘抄大全
  • 做网站卖广告360优化大师app
  • 手机做任务赚钱网站怎么买到精准客户的电话
  • 郑州做品牌网站的公司seo推广优化排名软件
  • 更换网站ico凡科建站代理登录
  • 宝鸡网站制作电话四川seo整站优化
  • 太仓网站开发一个网站推广
  • 中小企业网站建设与推广分析东莞百度网站排名优化
  • 江苏定制网站建设费用网站关键词优化工具
  • 公司网站建设好合肥网络推广网络运营
  • 镇江做网站需要多少钱武汉百度推广优化
  • 什么软件是做网站的用asp做的网站
  • 天津数字防疫宁波seo博客
  • 怎么制作自己的网页网站seo百科
  • 网站建设与管理清考作业网络整合营销是什么意思
  • 政府网站设计百度小程序排名优化
  • 网站的用户体验拉新推广怎么快速拉人