@flexent/stack-vue (英语)
默认 Vue 3 堆:一种网状-ioc 成分根,其服务具有反应性并提供给 Vue.
使用量
// src/App.ts
import { BaseApp } from '@flexent/stack-vue';
import { App as VueApp } from 'vue';
import { UserManager } from './managers/UserManager.js';
export class App extends BaseApp {
constructor(vue: VueApp) {
super(vue);
this.mesh.service(UserManager);
}
}
// src/managers/UserManager.ts
import { provide } from '@flexent/stack-vue';
import { dependency } from 'mesh-ioc';
@provide('userManager')
export class UserManager {
private api = dependency(this, ApiManager);
users: User[] = [];
}
// src/views/UsersView.vue
export default {
inject: ['userManager'],
};
它会做什么
BaseApp 创建网格,将 Vue 应用程序绑定为 'vue',并安装将每个服务包入 reactive(). Meshes(应用网和任何儿童范围)和Vue应用保持原始状态.
@provide('alias') 登记用该别名向Vue提供的类别.
start() 解决所有提供的服务, 提供给Vue, 运行 @init() 处理器,并挂载应用程序(#root 默认; 覆盖 mount() 一般事务人员(其他职等).
输入方式 dependency(this, X):Vite的重建没有发出装饰元数据 @dep() 需要帮助.
关于 @flexent/stack-vue 的常见问题
@flexent/stack-vue 是什么?
Vue 基本设置
如何安装 @flexent/stack-vue?
在项目目录运行 npm install @flexent/stack-vue,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:vue(^3.5.26)、mesh-ioc(^4.3.1)、mesh-decorators(^1.3.6)、reflect-metadata(^0.2.2)、@flexent/init-decorator(^2.22.1)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。
@flexent/stack-vue 支持 TypeScript 吗?
该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/flexent__stack-vue 是否存在。
@flexent/stack-vue 支持 ESM 还是 CommonJS?
以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。
@flexent/stack-vue 可以商用吗?
@flexent/stack-vue 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。
@flexent/stack-vue 的下载量有多少?
根据 npm 官方下载统计,@flexent/stack-vue 在 2026/10/15 – 2026/11/13 这 30 天内被下载 2,342 次,日均约 78 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。
@flexent/stack-vue 还在维护吗?
最新版本 2.22.1 发布于 2026/11/13(2 天前);至今共发布 40 个版本,其中过去 12 个月发布了 40 个;首次发布于 2026/04/19。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。