@dazl/引擎核心
运行时抽象用于创建多环境网络应用程序,同时进行面向特征的软件开发.
方针
应用程序是一个或多个特性的一组.
一个功能包含了实现产品功能子集所需的所有集成代码.
地物可能取决于其他地物,消耗所暴露的服务并登记入槽.
一个服务是一个功能集,作为特性的API被曝光.
一个槽是任何类型的登记册,它允许通过登记进行插接.
环境(浏览器/网络工人/帧)由特性定义,并有语义名称(主/处理/审查).
每个档次和服务都在特定环境中提供.
服务可被标记为无障碍的交叉环境,暴露为这些环境中的Aync API.
特性
一个特征是合并了几个文件:
<feature-name>.feature.ts - 特征定义文件.
<feature-name>.<some-env>.env.ts - 某个env特定的设置代码.
<feature-name>.<another-env>.env.ts - 另一套特定设置代码.
特性定义文件
特性定义创建于 <feature-name>.feature.ts 文档,并作为 default 输出.
例如:
/* 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 的常见问题@dazl/engine-core 是什么? 运行时抽象用于创建多环境网络应用程序,同时进行面向特征的软件开发.
如何安装 @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 和提交记录判断。