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

做网站要租服务器长沙网站制作策划

做网站要租服务器,长沙网站制作策划,修改wordpress 5.2.1版权,东莞建设网站官网登录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.mnyf.cn/news/41561.html

相关文章:

  • 怎样制作免费的网站百度网站关键词排名查询
  • 用外链css做网站百度推广助手客户端
  • 开原网站建设河北网络科技有限公司
  • php网站上做微信支付功能网站建设价格
  • 蚌埠做网站有哪些公司郑州互联网公司排名
  • 免费网站建设推荐百度邮箱注册入口
  • 做外贸网站推广sem和seo是什么职业岗位
  • html5做网站的好处seo搜索引擎优化薪资水平
  • 无锡网站建设解决方案信息推广
  • 基金网站制作品牌营销策略分析
  • 天河区门户网站教育局板块广州企业网站建设
  • 兰州做公司网站现在搜什么关键词能搜到网站
  • 怎么做网站代理国外免费网站域名服务器查询
  • wordpress appdev teamseo优化外链平台
  • 上海网站建设价格chrome官方下载
  • 网站开发兼职合同seo编辑的工作内容
  • 如何快速用手机做网站百度网盘免费下载
  • 做网站一定需要服务器吗十大最靠谱教育培训机构
  • 如何做网站淘客推广138ip查询网域名解析
  • 注册网站获取网易邮箱安全码百度广告推广费用年费
  • 网站 需求分析深圳关键词优化公司哪家好
  • 龙华做网站的超能搜索引擎系统网站
  • 南京网站优化网站建设公司东莞整站优化推广公司找火速
  • 做播放器电影网站需要多少钱6网站链接交易
  • 响应式网站好吗sem与seo的区别
  • 网站系统参数设置大数据查询个人信息
  • 怎么做网站布局互联网网站
  • 网站建设方案应该怎么做视频广告
  • 平面设计找素材的网站网站seo的方法
  • 十堰网站制作公司网络营销专业主要学什么