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

网站合同书西安百度竞价开户

网站合同书,西安百度竞价开户,网站群集建设,江门企业网站模板建站一、Cabloy5.0 内测预告 Cabloy5.0 采用 TS 对整个全栈框架进行了脱胎换骨般的大重构#xff0c;并且提供了更加优雅的 ts 控制反转策略#xff0c;让我们的业务开发更加快捷顺畅 1. 新旧技术栈对比#xff1a; 后端前端旧版js、egg2.0、mysqljs、vue2、framework7新版ts…一、Cabloy5.0 内测预告 Cabloy5.0 采用 TS 对整个全栈框架进行了脱胎换骨般的大重构并且提供了更加优雅的 ts 控制反转策略让我们的业务开发更加快捷顺畅 1. 新旧技术栈对比 后端前端旧版js、egg2.0、mysqljs、vue2、framework7新版ts、egg3.0、多数据库兼容支持 mysql、postgresqlts、vue3、quasar 2. 框架开发两大趋势 TS 化这是显而易见的趋势不必赘言 ESM 化从目前趋势看前端框架已经全链路 ESM 化了但是大多数后端框架仍然是 Commonjs。即便是 egg3.0 也仍然是 Commonjs。由于 egg 的定位仍然是元框架CabloyJS5.0 在 egg 基础上仍然开发出了全量 ESM 化的业务模块化系统在 Commonjs 之上进行 ESM 化的具体机制是什么另有文章阐述 二、比 nestjs 更优雅的 ts 控制反转策略 基于 TS 的后端框架一般都会提供依赖容器实现控制反转。控制反转有两种策略依赖注入和依赖查找。CabloyJS5.0 同时支持依赖注入和依赖查找并且通过模块范围的辅助让依赖查找的代码更加简洁高效下面挑几个特性举例说明: Service 服务Config 配置多语言错误异常 三、Service 服务 1. 创建一个 Service 在 CabloyJS 中local bean 相当于 nestjs 中 service 的概念下面创建一个 local bean import { BeanBase, Local } from cabloy/core; import { ScopeModule } from ../resource/this.js;Local() export class LocalHome extends BeanBaseScopeModule {async echo({ user: _user }) {return Hello World!;} }通过 Local 声明 LocalHome 是一个 local bean LocalHome 继承自基类 BeanBase 2. Service 的依赖注入 接下来在 Controller 中采用依赖注入的方式来使用 LocalHome import { BeanBase, Controller, Use } from cabloy/core; import { ScopeModule } from ../resource/this.js; import { LocalHome } from ../local/home.js;Controller() export class ControllerHome extends BeanBaseScopeModule {Use()home: LocalHome;async echo() {const res await this.home.echo({user: this.ctx.state.user.op,});this.ctx.success(res);} }使用 Use 注入 LocalHome 3. Service 的依赖查找 接下来在 Controller 中采用依赖查找的方式来使用 LocalHome import { BeanBase, Controller } from cabloy/core; import { ScopeModule } from ../resource/this.js;Controller() export class ControllerHome extends BeanBaseScopeModule {async echo() {const res await this.scope.local.home.echo({user: this.ctx.state.user.op,});this.ctx.success(res);} }不需要导入 LocalHome直接在代码中使用 this.scope.local 来访问容器中的 local bean 实例 看一下动画演示提供了完整的类型智能提示 四、Config 配置 1. 定义 Config 可以为业务模块单独定义一些 Config 配置如下 import { CabloyApplication } from cabloy/core;export const config (_app: CabloyApplication) {return {prompt: hello world,}; };2. 使用 Config 可以在 LocalHome 中直接使用刚才定义的 config import { BeanBase, Local } from cabloy/core; import { ScopeModule } from ../resource/this.js;Local() export class LocalHome extends BeanBaseScopeModule {async echo({ user: _user }) {return this.scope.config.prompt; - return Hello World!;} }不需要导入任何类型直接在代码中使用 this.scope.config 来访问当前业务模块中的 config 配置 看一下动画演示提供了完整的类型智能提示 五、多语言 1. 定义语言资源 可以为业务模块定义语言资源比如这里分别定义英文和中文两种语言资源 英文 export default {HelloWorld: Hello World, };中文 export default {HelloWorld: 您好世界, };2. 使用语言资源 可以在 LocalHome 中直接使用刚才定义的语言资源 import { BeanBase, Local } from cabloy/core; import { ScopeModule } from ../resource/this.js;Local() export class LocalHome extends BeanBaseScopeModule {async action({ user: _user }) {// 自动判断当前语言const message this.scope.locale.HelloWorld();// 强制使用英文资源const message1 this.scope.locale.HelloWorld.locale(en-us);// 强制使用中文资源const message2 this.scope.locale.HelloWorld.locale(zh-cn);return ${message}:${message1}:${message2}; - return this.scope.config.prompt;} }不需要导入任何类型直接在代码中使用 this.scope.locale 来访问当前业务模块中的语言资源 看一下动画演示提供了完整的类型智能提示 六、错误异常 1. 定义错误码 可以为业务模块定义错误码 export enum Errors {Error001 1001, }这里定义了一个错误枚举类型 Error001对应的错误码是 1001 2. 定义错误码对应的语言资源 可以为错误码定义语言资源比如这里分别定义英文和中文两种语言资源 英文 export default {Error001: This is a test,HelloWorld: Hello World, };中文 export default {Error001: 这是一个错误,HelloWorld: Hello World, };3. 抛出错误异常 可以在 LocalHome 中直接使用刚才定义的错误枚举值并抛出异常 import { ScopeModule } from ../resource/this.js;Local() export class LocalHome extends BeanBaseScopeModule {async action({ user: _user }) {// 直接抛出异常this.scope.error.Error001.throw(); - return this.scope.config.prompt;} }不需要导入任何类型直接在代码中使用 this.scope.error 来访问当前业务模块中的错误枚举值 看一下动画演示提供了完整的类型智能提示
http://www.w-s-a.com/news/18764/

相关文章:

  • 做金融网站有哪些要求WordPress站内搜索代码
  • 济南网站怎么做seowordpress注册发邮件
  • 珠海网站设计平台东莞市手机网站建设平台
  • 网站开发文档合同怎么在wordpress导航条下方加入文字广告链接
  • 网站建设需怎么做有网站怎么做企业邮箱
  • 网站制作流程视频教程小程序多少钱一年
  • 暗网是什么网站花都网站建设哪家好
  • 贵州网站开发流程晋江论坛手机版
  • 网站建设丿金手指谷哥14阿里巴巴官网电脑版
  • 网站开发招聘信息匿名ip访问网站受限
  • 网站转app工具网站规划建设与管理维护大作业
  • flash是怎么做网站的.net购物网站开发
  • 烟台网站建设求职简历品质商城网站建设
  • 做百度外链哪些网站权重高点做网站具备的条件
  • 怎么样用ppt做网站红番茄 网站点评
  • 建设银行河北分行招聘网站哪里能找到网站
  • 兰州营销型网站网站建设收费标准
  • 网站首页动图怎么做自己做网站很难
  • 自建网站如何盈利推广引流最快的方法
  • 网页设计网站结构图怎么弄网站用户 分析
  • 企业手机网站建设策划天津网页设计工作
  • 苏州vr全景网站建设公司怎么讲解网页的制作技术
  • 徐州智能建站怎么做苏州建设网站首页
  • 网站支付功能报价wordpress主页透明
  • asia域名的网站宁波模板建站源码
  • 官网网站怎么做个人网站盈利
  • 青龙桥网站建设网站同时做竞价和优化可以
  • 沭阳建设网站婴儿辅食中企动力提供网站建设
  • 常州做网站的公司济宁网站建设seo
  • 用wordpress做企业网站视频教程韶关建设网站