首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端开发使用GraphQL——服务端技术选型

这里可以参考下文章《5个用/不用GraphQL的理由》 背景 我们的业务后台使用开发rpc服务,然后通过包一层http给前端调用。因为历史遗留问题,前期项目赶进度导致遗留了很多技术债。...不管怎么样,我们后台提供的RPC服务都是需要包一层http后我们前端才能使用,因此,使用GraphQL来作为我们服务的接入层,可以比较好的解决这些问题,在GraphQL层调用后台RPC服务,然后以对外提供...因为本人是前端开发,对nodejs比较熟悉,所以选择在nodejs运行环境下开发GraphQL服务,下面开始我的技术选型 开发语言选择 2021年了,新项目基本都是使用typescript。...Nodejs框架选择 express:生态丰富,但是过于简单,自己需要实现很多其他内容 koa: 同上,生态丰富,但是过于简单,自己需要实现很多其他内容 eggjs: 阿里基于koa开发的框架,插件丰富...express与koa都太过简单,不适合直接拿来使用,egg文档优秀,社区内容也丰富,但是对typescript和GraphQL的支持都比较有限,最终决定使用nestjs,nestjs是基于typescript

1.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    面向开发人员的十大 NodeJS 框架

    作为开发人员,可以顺利地在 客户端 和 服务端 脚本中使用相同的语言,并且这种独特的功能已提高了全球许多开发人员使用 NodeJS 框架快速构建任何 规模 的 Web 应用。...Express.JS Express.js 由核心 Node 项目团队的成员之一 TJ Holowaychuk 构建。大型社区支持此框架,因此具有不断更新和改革所有核心功能的优势。...express 的一个优点是它支持许多其他软件包和模板引擎,例如Pug、Mustache、EJS 等。 Socket.io 它用于构建实时 Web 应用。...Meteor 在庞大的开发人员、教程、自定义程序包和文档社区的支持下,该框架可以仅用 Javascript 就能够创建出色的 Web 和移动应用。...框架列表是无穷无尽的,在 JavaScript 社区中无处不在。

    2.8K20

    在 Nodejs 中 ES Modules 使用入门讲解

    删除标志也是将 ESM 变为稳定性而迈出的重要一步,根据 Nodejs 官方的发布说明,有望在今年下半年(10 月左右)删除 Nodejs 12 中的警告,届时 Node 14 将会成为 LTS。...export 方式导出的,导入时要加上 {} 需预先知道要加载的变量名,在一个文件中可以使用多次。...export default: 为模块指定默认输出,这样加载时就不需要知道所加载的模块变量名,一个文件中仅可使用一次。...as 别名导入:在导入时可以重命名在 export 中定义的接口。 单个或多个导入:根据需要导入 export 定一个的一个或多个接口。 import { add } from '....,而在本次版本发布取消了这个标志,本文也是对在 Nodejs 中使用 ES Modules 进行了入门讲解,后续也会进行更深入的研究分享,希望看完你能有所收获。

    2.8K20

    在NodeJS中使用npm包实现JS代码混淆加密

    使用npm包,在NodeJS中实现JS代码混淆加密在前后端JS开发过程中,JS代码保护(JS代码混淆加密)是非常重要的一环。...从npm网站,可以找到名为jshaman-javascript-obfuscator的包,如下图所示:这里有对它的使用说明,如在Nodejs环境中的安装方法,调用例程,等。...安装npm install jshaman-javascript-obfuscator使用NodeJS例程代码如下所示。...上面的代码中,javascript_code变量是要保护的JS代码,options 变量是参数,参数中各项目的含义,可以参考JShaman官网的说明,值设为1表示启用、设为0表示不启用,secret_key...扩展使用把上述例程代码稍加改造,嵌入到自己的项目或产品中,就可以进行自动化的JS代码混淆加密了。混淆加密JS代码、提高JS代码安全性,防止他人随意查看、复制,就是如此简单。

    1.5K20

    我为什么喜欢NestJS

    在 NodeJS 的世界里,也存在一个全面借鉴 Spring 设计思想的框架,它在 github 上有将近 2w 的 star,npm 的周下载量超过 11w,它就是本文要介绍的 NestJS。...二、与其它框架的对比 市面上 NodeJS 的服务端框架有很多,如Koa、Express、EggJS、Midway等,它们功能都很强大,也有很好的生态,插件非常丰富,为什么还需要Nest呢?...依赖注入最大的作用是代码解耦,依赖的对象根据不同的情况可以有多种实现,如单元测试的时候可以在不改业务代码的情况下将依赖的对象换成 Mock 数据。...模块化 Nest是以模块的形式组织项目的,模块中可以声明Controller、Provider、Import和Export。...连接数据库 例子中使用mongoose连接和操作本地MongoDB数据库。为了更方便使用,Nest提供了@nestjs/mongoose包,对mongoose包装了一层,使其更符合Nest的使用风格。

    2K20

    Nestjs入门教程【一】基础概念

    作为以 Javascript 为主要开发语言的我们,也想有这样一些优秀的、渐进式的服务端框架,虽然在此之前有 Express 、Koa、Egg 等基于Nodejs的服务端框架,但都不是我钟爱的,因为我入门编程就是使用...Nestjs的主要思想 Nest (NestJS)是基于Nodejs的服务端框架,建议使用Typescript进行开发(不过也同样支持使用JavaScript开发)。...安装 相信使用过 Vue、 React 或 Angular 的同学都熟悉项目初始化的脚手架工具,Nestjs也为大家提供了一个脚手架工具,有了这个工具我们能够更快搭建起Nestjs项目,下面我们来安装它吧...九个核心概念贯穿Nestjs开发始终,也只有你深刻理解了这些核心概念,你才能构建出优秀的Nestjs项目,就像早些年Java面试必问JSP中九大内置对象 。...中间,是客户端和路由处理的中间,我们前面提到路由交给了控制器处理,如果我们想请求在到达控制器之前或者在响应发送给客户端之前对request和response做一些处理,就可以使用中间件,在中间件定义的过程中

    2.4K30

    NestJS对接微信公众号(一)配置服务器验证

    前言最近想把之前的微信表情,转换成图片保存下来发送到另一个app当作表情包使用,但是安卓微信没办法直接将表情当做图片保存。在网上搜索一些解决方案。...创建 NestJS 项目:通过 nest init 命令初始化一个 NestJS 项目(假设你已经安装了 NestJS 的脚手架工具),或者使用已有的 NestJS 项目进行开发。...二、安装依赖在项目目录下安装 express 和 xml2js 等相关依赖,因为微信公众号服务器验证及消息交互涉及到处理 XML 格式的数据以及基于 Express 风格的中间件机制(NestJS 可以很好地兼容...npm install express xml2js三、配置服务器验证中间件微信公众号开发前必读、入门指引创建微信公众号配置服务在 NestJS 项目中创建一个服务来处理微信公众号相关的配置和验证逻辑,...在 “服务器配置” 板块中,填写服务器地址(例如 https://nideyumin.com/wechat,要与上述在 NestJS 应用中配置中间件应用的路径相对应)、Token(和代码中设置的一致)

    18710

    精读《Nestjs》

    精读 《Nestjs 文档》 本期精读的文章是:Nestjs 文档 体验一下 nodejs mvc 框架的优雅设计。...2 内容概要 Nestjs 不是一个新轮子,它是基于 Express、socket.io 封装的 nodejs 后端开发框架,对 Typescript 开发者提供类型支持,也能优雅降级供 Js 使用,拥有诸多特性...3.1.1 定义实体 每个实体对应数据库的一张表,Typeorm 在每次启动都会同步表结构到数据库,我们完全不用使用数据库查看表结构,所有结构信息都定义在代码中: @Entity() export class...在使用 Typeorm 查询 User 时,会自动外键查询到其关联的评论,保存在 user.comments 中。...3.2 部署 可以使用 Docker 部署 Mysql + Nodejs,通过 docker-compose 将数据库与服务都跑在 docker 中,内部通信。

    4K20

    Node.js 简介

    Nodejs简介 Node.js 是一个开源与跨平台的 JavaScript 运行时环境。 它是一个可用于几乎任何项目的流行工具!...在 Node.js 中,可以毫无问题地使用新的 ECMAScript 标准,因为不必等待所有用户更新其浏览器,你可以通过更改 Node.js 版本来决定要使用的 ECMAScript 版本,并且还可以通过运行带有标志的...大量的库 npm 的简单结构有助于 Node.js 生态系统的激增,现在 npm 仓库托管了超过 1,000,000 个可以自由使用的开源库包。...koa: 由 Express 背后的同一个团队构建,旨在变得更简单更轻巧。 新项目的诞生是为了满足创建不兼容的更改而又不破坏现有社区。...Nx: 使用 NestJS、Express、React、Angular等进行全栈开发的工具包! Nx 有助于将开发工作从一个团队(构建一个应用程序)扩展到多个团队(在多个应用程序上进行协作)!

    2.2K30

    scss在项目实战中的使用

    变量使用 全局使用:使用$varaible格式定义变量,比如全局的主题色,可在common.scss中定义,通过@import的方式引用即可 局部使用:在本文件中创建变量$themeColor =...red,然后直接使用,存在块级作用域。...混合使用(mixins) 可在common.scss中使用@mixin varibaleName{}的方式定义 多次重复使用的样式,通过@include的方式应用。...还可以使用@mixin varibaleName(varib1 varib2 varib3){} 的方式传入自定义的属性,进行代码复用,比如可以将 flex布局使用mixin的形式,传入变量使用。...导入 @import 导入,文件扩展名为.scss或.sass 可同时导入多个文件 @import ‘bar’,‘foo’; &使用 在嵌套 CSS 规则时,有时也需要直接使用嵌套外层的父选择器

    1.5K40

    serverless从入门到实践总结篇

    ,否则是看不到项目代码的)使用客户端serverless cli命令方式创建,个人也更推荐使用这种方式创建,修改代码,然后部署到后台腾讯云服务上二、serverless 脚手架安装、WebIDE中创建、...图片如果部署过程遇到问题不好排除,如以下问题:图片来到控制台创建项目图片图片图片在控制台安装依赖包我们在sls deploy忽略了node_modules,因此需要在控制台安装依赖访问应用图片到控制台查看图片图片图片删除应用...项目npm i -g @nestjs/clinest new nest-app在根目录下,执行以下命令在本地直接启动服务。...    runtime: Nodejs12.16 # 运行时    framework: nestjs # #选择框架,此处以 nestjs 为例     name: '${name}' # 云函数名称...初始化项目npm i -g @nestjs/clinest new nest-app在根目录下,执行以下命令在本地直接启动服务。

    4.3K123

    开发|使用war包部署在Tomcat中运行

    了解war和tomcat服务器 简单来说,war包是JavaWeb程序打的包,war包里面包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。...一个war包可以理解为是一个web项目,里面是项目的所有东西。 ?...Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。...然后把准备好的war包复制粘贴到webapps目录,返回上一级目录,找到bin,打开bin文件,在bin里面找到starup运行tomcat。运行成功如图所示。 ?...紧接着我们去打开浏览器,输入我们的地址 localhost:你的端口号/你的项目名称,你要运行的jsp文件,下面就是运行结果。 ?

    2.4K10

    Nest.js 从零到壹系列(七):讨厌写文档,Swagger UI 了解一下?

    上家公司在恒大的时候,项目的后端文档使用 Swagger UI 来展示,这是一个遵循 RESTful API 的、 可以互动的文档,所见即所得。...- 覃超的回答 - 知乎[2] Swagger 之旅 初始化 Swagger $ yarn add @nestjs/swagger swagger-ui-express -S 安装完依赖包后,只需要在...main.ts 中引入,并设置一些基本信息即可: // src/main.ts import { NestFactory } from '@nestjs/core'; import { AppModule.../app.module'; import * as express from 'express'; import { logger } from '....可以看到,我们只需在写代码的时候,加一些装饰器,并配置一些属性,就可以在 Swagger UI 中生成文档,并且这个文档是根据代码,实时更新的。

    4.7K10
    领券