// 这一步,module模块相当于被包装了,包装形式如下 // 加载js模块,相当于下面的代码(加载node模块和json模块逻辑不一样) (function (exports, require, module, __filename, __dirname) { // 模块源码 // 假如模块代码如下 var math = require('math'); exports.area =
Eggjs:基于Koa封装的框架,整合了数据库、路由、安全防护、日志记录、异常处理等中间件,可以用来快速开发Rest或者Restful API项目。 Nestjs:基于TS,使用了大量的装饰器语法,开发体验类似于Java的Springboot。除此之外,Nestjs还提供了GraphQL、WebSocket、各种MQ和微服务的解决方案,比较适合大型后端项目的开发。 7. Koa中...
8、中间件8.1 如果使用过 koa、egg 这两个 Node 框架,请简述其中的中间件原理,最好用代码表示一下 上面是在网上找的一个示意图,就是说中间件执行就像洋葱一样,最早 use 的中间件,就放在最外层。处理顺序从左到右,左边接收一个 request,右边输出返回 response 一般的中间件都会执行两次,调用 next 之前为第一...
node 的作者在设计之初选择语言时,评估过当时的流行语言,最终选择了存在多年在后端却一直没有市场的 js,正是 js 的不被关注,使得使用 js 没有额外阻力,而 js 在浏览器中有广泛的事件驱动方面的应用,正符合作者的喜好。于是 node 使用了 js 作为开发语言,node 的作者在开发时保持了 js 单线程的特点,所以 nod...
对于一些后台运行的重复逻辑,Egg.js 将它们放到了一个单独的进程上去执行,这个进程就叫Agent Worker,简称 Agent,专门用来处理一些公共事务,具体细节可以参考 Egg.js 官网。 子进程服务高可用问题 毕竟是秒杀服务,fork 的子进程是可能挂滴,所以我们需要一种机制来保证子进程的高可用。
所有的模块都是 Module 的实例。可以看到,当前模块(module.js)也是 Module 的一个实例。 1.2 请介绍一下require的模块加载机制 这道题基本上就可以了解到面试者对Node模块机制的了解程度 基本上面试提到 1、先计算模块路径 2、如果模块在缓存里面,取出缓存 ...
https://react.docschina.org/ 用于构建用户界面的 JavaScript 库egghttps://eggjs.org/zh-cn/ Born to build better...运行时。 koa/koa2https://koa.bootcss.com/ 基于Node.js平台的下一代web开发框架vuehttps://cn.vuejs.org/ Vue (读音
所有的模块都是 Module 的实例。可以看到,当前模块(module.js)也是 Module 的一个实例。 请介绍一下require的模块加载机制 这道题基本上就可以了解到面试者对Node模块机制的了解程度 基本上面试提到 1、先计算模块路径 2、如果模块在缓存里面,取出缓存 ...
Egg.js是基于Koa.js,解决了上述问题,将社区最佳实践整合进了Koa.js,另取名叫Egg.js,并且将多进程启动,开发时的热更新等问题一并解决了。这对开发者很友好,开箱即用,开箱即是最(较)佳配置。 Egg.js 是一个约定大于配置的框架 Egg 奉行『约定优于配置』,按照一套统一的约定进行应用开发,团队内部采用这种方式...
基于egg.js的开源商城系统(apshop) apshop 基于egg.js的单商户系统,目前仅实现PC端,后续会增加微信端 源码:https://github.com/inmyjs/apshop 商城管理端源码:https://github.com/inmyjs/apshop_admin 写在前面: 这是我的一个创业项目,本打算在上面卖一些软件组件,后因种种原因关闭,放着也是无益,就贡献出来...