@dazl/engine-core

中文文档
52.2.0发布于 2026/05/26MITTypeScriptES Module近 30 天下载 1万

Run-time abstractions for creating multi-environment web applications while practicing feature-oriented software development.

原始使用文档
文档目录3 节
  1. Approach
  2. Feature
  3. Feature definition file

@dazl/engine-core

Run-time abstractions for creating multi-environment web applications while practicing feature-oriented software development.

Approach

  • An application is a set of one or more features.
  • A feature contains all the integration code required to get a subset of product functionality implemented.
  • Features may depend on other features, consume their exposed services and register into their slots.
  • A service is a set of functions exposed as an API of a feature.
  • A slot is a registry of any type, which allows pluggability via registration.
  • Environments (browser/webworker/iframe) are defined by features, and have semantic names (main/processing/preview).
  • Each slot and service is available in a specific environment.
  • Services can be marked as accessible cross-environments, which exposes them as async APIs in those environment.

Feature

A feature is combined of several files:

  • <feature-name>.feature.ts - feature definition file.
  • <feature-name>.<some-env>.env.ts - some-env specific setup code.
  • <feature-name>.<another-env>.env.ts - another-env specific setup code.

Feature definition file

Feature definition is created in a <feature-name>.feature.ts file, and is exposed as the default export.

For example:

/* my-feature.feature.ts */

import { Feature } from '@dazl/engine-core';

/* defining a new feature */
export default new Feature({
  id: 'myFeature' /* unique id for the feature */,

  dependencies: [
    /* other features the feature depends on */
  ],

  api: {
    /* slots, services, and configurations of the feature */
  },
});

版本与发布记录

@dazl/engine-core 共发布 20 个版本,首次发布于 2025/08/28;过去 12 个月发布了 17 个版本。

版本发布日期距今
52.2.0latest2026/05/265 个月前
52.1.02026/03/167 个月前
52.0.02026/03/128 个月前
51.11.02026/02/248 个月前
51.10.02026/02/049 个月前
51.9.02026/01/299 个月前

其他发布通道:alpha → 51.6.0-alpha.0。

关于 @dazl/engine-core 的常见问题

@dazl/engine-core 是什么?

Run-time abstractions for creating multi-environment web applications while practicing feature-oriented software development.

如何安装 @dazl/engine-core?

在项目目录运行 npm install @dazl/engine-core,或使用 pnpm add / yarn add / bun add。

@dazl/engine-core 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dazl/engine-core 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@dazl/engine-core 可以商用吗?

@dazl/engine-core 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@dazl/engine-core 的下载量有多少?

根据 npm 官方下载统计,@dazl/engine-core 在 2026/10/12 – 2026/11/10 这 30 天内被下载 10,120 次,日均约 337 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dazl/engine-core 还在维护吗?

最新版本 52.2.0 发布于 2026/05/26(5 个月前);至今共发布 20 个版本,其中过去 12 个月发布了 17 个;首次发布于 2025/08/28。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。