开发一个前端应用,需要用到各种各样的数据模型来描述应用中的各种实体,如用户、商品等等。而在应用中对这些实体进行操作时,通常需要定义各种各样的动作(Action)。npm 包 erschema-actions,就是一个用于定义数据模型和动作的库。
安装
使用 npm 进行安装:
npm install erschema-actions
定义数据模型
erschema-actions 提供了两种方式,可以用于定义数据模型。
方式一:使用构造函数
可以使用 erschema-actions 提供的构造函数,来定义一个数据模型。
import { createModel } from 'erschema-actions'; const user = createModel('user', { name: { type: 'string', required: true }, age: { type: 'number', defaultValue: 18 }, gender: { type: 'string', oneOf: ['male', 'female'] }, });
以上代码定义了一个名为“user”的数据模型,model 中包含 3 个数据属性:name、age、gender。其中,name 属性类型为字符串,必须提供,age 属性类型为数字,缺省值为 18,gender 属性类型为字符串,只能是“male”或“female”。
方式二:使用 JSON Schema
也可以使用 JSON Schema 规范来定义一个数据模型。
-- -------------------- ---- ------- ----- ---------- - - ----- --------- ----------- - ----- - ----- --------- --------- ---- -- ---- - ----- --------- ------------- -- -- ------- - ----- --------- ----- -------- --------- -- -- -- ----- ---- - ------------------- ------------
以上代码定义了与前面一样的“user”数据模型,只不过使用了 JSON Schema 规范。
定义动作
定义数据模型后,在此基础上可以定义各种各样的动作。
-- -------------------- ---- ------- ------ - ------------ - ---- ------------------- ----- ---------- - -------------------------- - ------------ ------- ------------- - ----- -------- -- -------- ----- -- ----- -- -- - ----- -- - ----- ---------------------- ------ --- -- ---
以上代码定义了一个名为“createUser”的动作,该动作包含 3 个属性:inputSchema、outputSchema 和 handler。其中,inputSchema 表示输入类型为“user”,outputSchema 表示输出类型为字符串类型,handler 实现了这个动作的实际操作。
使用动作
定义好动作后,就可以很方便地使用它了。
const user = { name: 'tom', gender: 'male' }; const result = await createUser({ input: user }); console.log(result); // 打印出用户 id
以上代码就使用了刚才定义的“createUser”动作。
总结
通过这篇文章,我们学会了如何使用 npm 包 erschema-actions 定义数据模型和动作,并使用这些定义好的动作完成应用中的各种操作。使用 erschema-actions 可以帮助我们更加方便地定义和使用数据模型和动作,提升应用开发效率和代码可读性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005671381e8991b448e3602