# Artus > Enterprise Node.js Framework for Web, RPC, Serverless ## Other - [附录:Artus 通用异常表 Appendix: Artus Common Error-Code List](/community/1.error_code.md): TODO - [附录:Artus 官方提供包列表 Appendix: Artus Official Package List](/community/2.package.md) - [附录:Artus 术语表 Appendix: Artus Fundamental List](/community/3.fundamental.md): TODO - [文档编写格式约定 Convention](/community/4.convention.md) - [架构介绍 Introduction](/core/1.introduction.md): (上图仅用于表达相关组件的层级关系,与各商业公司的基础设施和具体实现无关) - [加载机制 Loader](/core/2.loader.md): 从概念上看,Loader 更加侧重的是以编程约束规范来提升项目协作一致性体验,因此整体设计上不与请求模型中的 Context/Trigger/Middleware 做过深耦合。 Core 内置 Loader 实现,主要的环节包括: FindPath 扫描目录/读取 ManifestRequire 加载模块并 attach 对应的 MetaMount 将对象池交付并按照其上的 Meta 挂载到 Context/Application or IOC Contianer 其中,Manifest 用于描述目录、Path、MetaHandler 的关系,格式如下: - [插件 Plugin](/core/3.plugin.md) - [请求处理机制 Pipeline](/core/4.pipeline.md): Artus 作为底层 Core 规范,具备协议无关特性,请求处理模型基于洋葱模型和 Context 构建,但不具备协议相关的概念。上层框架可基于以下模型,构建出适用于特定协议的实现(如:HTTP/1.1, HTTP/2, QUIC, HTTP/3, WebSocket, Timer, MQ, gRPC, etc...)。 - [异常处理 Exception](/core/5.exception.md): Artus 要求各上层框架使用 @artus/core 提供的能力,实现如下规定的异常机制。同时要求上层框架生态系统中的插件/扩展,使用这一机制统一抛出错误。 预期可对满足 Artus 规范的上层框架中产生的异常构建全链路的发现与用户自检机制 - [框架 Framework](/core/v1/4.framework.md) - [请求处理机制 Trigger](/core/v1/5.trigger.md): Artus 作为底层 Core 规范,具备协议无关特性,请求处理模型基于洋葱模型和 Context 构建,但不具备协议相关的概念。上层框架可基于以下模型,构建出适用于特定协议的实现(如:HTTP/1.1, HTTP/2, QUIC, HTTP/3, WebSocket, Timer, MQ, gRPC, etc...)。 - [快速开始](/ecosystem/artus-cli/1.quickstart.md) - [Artus CLI 诞生过程](/ecosystem/artus-cli/2.introduction.md) - [指令](/ecosystem/artus-cli/advance/1.command.md): 指令除了前面说的常规用法之外,还有一些高级技巧。 - [多环境](/ecosystem/artus-cli/advance/2.env.md): 环境能力是 artus 的内置能力,在 artus-cli 中也有一定使用场景。 - [插件机制](/ecosystem/artus-cli/advance/3.plugin.md): 插件能力由 artus 提供,定义方式也一致 - [框架继承](/ecosystem/artus-cli/advance/4.framework.md): 框架是 artus 中的概念,在 artus-cli 中,你可以认为一个框架就是一个 CLI 工具,通过 artus 的框架能力多个 CLI 可以方便的继承和拓展。 - [内置类 Program 及 Util](/ecosystem/artus-cli/advance/5.program_util.md) - [插件列表](/ecosystem/artus-cli/plugins/1.plugins_list.md) - [快速开始](/ecosystem/artusx/1.quickstart.md): 本文将从开发者角度,详解如何搭建一个 ArtusX 应用。 - [ArtusX](/ecosystem/artusx/2.introduction.md): ArtusX 是 Artus.js 生态中的常用插件以及聚合插件(原 framework 概念),提供了应用开发使用的 web 插件如 koa 以及日志插件 log4js;同时也提供一些聚合插件如 core,其默认集成 koa 与 log4js 插件,便于研发同学快速完成项目的配置。 - [Exception](/ecosystem/artusx/3.exception.md): ArtusX 提供了标准化异常处理能力,同时支持业务自定义。 - [@artusx/core](/ecosystem/artusx/libs/1.artusx_core.md): 插件默认集成了 http 应用开发的常用插件,并导出了对应的类型,本章将演示如何使用插件启动一个 http 服务。 - [@artusx/utils](/ecosystem/artusx/libs/2.artusx_utils.md): utils 插件是 aruts 工具集合,对 Application / Scanner 等进行封装,简化研发使用。 - [@artusx/plugin-koa](/ecosystem/artusx/plugins/1.artusx_plugin_koa.md): https://github.com/koajs/koa 插件基于 koa 封装,默认集成 koa-router,并添加 controller / middleware / http method 等注解能力,完全兼容 koa 生态。 - [@artusx/plugin-log4js](/ecosystem/artusx/plugins/2.artusx_plugin_log4js.md): https://github.com/log4js-node/log4js-node 插件基于 log4js 封装,用于替代框架内置的 logger (仅只是 console / stdout)。 - [@artusx/plugin-xtransit](/ecosystem/artusx/plugins/3.artusx_plugin_xtransit.md): https://github.com/X-Profiler 插件基于 X-Profiler 封装,用于 Node.js 性能监控,已在 core 中默认集成,但并未开启。 - [@artusx/plugin-nunjucks](/ecosystem/artusx/plugins/4.artusx_plugin_nunjucks.md): https://mozilla.github.io/nunjucks/ 插件基于 nunjucks 封装,支持模板渲染能力;对外暴露 compile / render / renderString 方法简化使用。 - [@artusx/plugin-schedule](/ecosystem/artusx/plugins/5.artusx_plugin_schedule.md): 插件基于 cron 封装,支持 crontab 表达式 https://crontab.cronhub.io/ - [快速开始 Quickstart](/tutorials/1.quickstart.md): 在软件工程中,控制反转(IoC)和依赖注入(DI)是实现松耦合设计的重要原则和技术。本章节将演示如何在 TypeScript 中通过注解能力使用 IoC 和 DI。 - [命令行工具 CLI](/tutorials/2.cli.md): artus 并不限定于具体的应用场景(如 web),故而可以基于该设计理念,适配不同的业务场景。 本教程中,我们将演示如何通过 @artus-cli/artus-cli,实现一个简单的 CLI 工具。