base-data中文文档|base-data js中文教程|解析

npm npmdoc 2年前 (2021-12-27) 407次浏览

base-data中文文档|base-data js中文教程|解析

安装命令:npm i base-data

基础数据 NPM 版本 NPM 每月下载量 NPM 总下载量 Linux 构建状态

data向 base-methods添加一个方法。

动词使用markdown-toc生成的目录

安装

使用npm安装

$ npm install --save base-data

用法

database添加一个方法,方法可用于在应用程序中的指定对象上设置、获取和加载数据。

var Base = require('base');
var data = require('base-data');
 
// instantiate `Base`
var base = new Base();
// add `data` as a plugin
base.use(data());

例子

添加数据:

app.data('a', 'b');
app.data({c: 'd'});
app.data('e', ['f']);
console.log(app.cache.data);
//=> {a: 'b', c: 'd', e: ['f']}

缓存数据

默认情况下,所有数据都加载到app.cache.data. 这可以通过传递插件初始化时使用的属性来定制。

例如,以下设置app.foo为存储数据的对象:

app.use(data('foo'));
app.data('a', 'b');
console.log(app.foo);
//=> {a: 'b'}

应用程序接口

.dataLoader

注册数据加载器以将数据加载到app.cache.data.

参数

  • ext {String} : 匹配加载器的文件扩展名
  • fn {Function} : 加载器功能。

例子

var yaml = require('js-yaml');
 
app.dataLoader('yml', function(str, fp) {
  return yaml.safeLoad(str);
});
 
app.data('foo.yml');
//=> loads and parses `foo.yml` as yaml

。数据

加载数据到 app.cache.data

参数

  • key {String|Object} : 要设置的值或要扩展的对象的键。
  • val {任何}
  • returns {Object} : 返回Template链接的实例

例子

console.log(app.cache.data);
//=> {};
 
app.data('a', 'b');
app.data({c: 'd'});
console.log(app.cache.data);
//=> {a: 'b', c: 'd'}
 
// set an array
app.data('e', ['f']);
 
// overwrite the array
app.data('e', ['g']);
 
// update the array
app.data('e', ['h'], true);
console.log(app.cache.data.e);
//=> ['g', 'h']

.data.extend

将对象浅扩展到app.cache.data.

参数

  • key {String|Object}:要扩展到的属性名称或对象app.cache.data点符号可用于扩展嵌套属性。
  • value {Object} : 要扩展到的对象app.cache.data
  • returns {Object} : 返回链接的实例

例子

app.data({a: {b: {c: 'd'}}});
app.data.extend('a.b', {x: 'y'});
console.log(app.get('a.b'));
//=> {c: 'd', x: 'y'}

.data.merge

将对象深度合并到app.cache.data.

参数

  • key {String|Object}:要合并到的属性名称或对象app.cache.data点符号可用于合并嵌套属性。
  • value {Object} : 要合并到的对象app.cache.data
  • returns {Object} : 返回链接的实例

例子

app.data({a: {b: {c: {d: {e: 'f'}}}}});
app.data.merge('a.b', {c: {d: {g: 'h'}}});
console.log(app.get('a.b'));
//=> {c: {d: {e: 'f', g: 'h'}}}

.data.union

将给定值联合到一个新的或现有的数组值上app.cache.data

参数

  • key {String}:属性名称。点符号可用于嵌套属性。
  • array {Object} : 要添加或联合的数组app.cache.data
  • returns {Object} : 返回链接的实例

例子

app.data({a: {b: ['c', 'd']}});
app.data.union('a.b', ['e', 'f']}});
console.log(app.get('a.b'));
//=> ['c', 'd', 'e', 'f']

.data.set

将给定值设置为app.cache.data

参数

  • key {String|Object}:要合并到的属性名称或对象app.cache.data点符号可用于嵌套属性。
  • val {any} : 要设置的值app.cache.data
  • returns {Object} : 返回链接的实例

例子

app.data.set('a.b', ['c', 'd']}});
console.log(app.get('a'));
//=> {b: ['c', 'd']}

.data.get

获取keyfrom的值app.cache.data点符号可用于获取嵌套属性。

参数

  • key {String}:要获取的属性的名称。
  • returns {any} : 返回值key

例子

app.data({a: {b: {c: 'd'}}});
console.log(app.get('a.b'));
//=> {c: 'd'}

全局模式

Glob 模式可以作为字符串或数组传递。所有这些工作:

app.data('foo.json');
app.data('*.json');
app.data(['*.json']);
// pass options to node-glob
app.data(['*.json'], {dot: true});

命名空间

命名空间允许您将数据加载到特定键上,可选择使用文件路径的一部分作为键。

例子

鉴于foo.json包含{a: 'b'}

app.data('foo.json');
console.log(app.cache.data);
//=> {a: 'b'}
 
app.data('foo.json', {namespace: true});
console.log(app.cache.data);
//=> {foo: {a: 'b'}}
 
app.data('foo.json', {
  namespace: function(fp) {
    return path.basename(fp);
  }
});
console.log(app.cache.data);
//=> {'foo.json': {a: 'b'}}

历史

v0.6.0

v0.5.0

v0.4.0

  • 重构

  • 添加.data用于获取和设置数据的方法。

v0.3.6

  • JSON.parse如果没有定义其他加载器,则添加一个仅调用该方法的基本加载器
  • .isRegisteredbase调用以确保插件仅在实例上加载一次

关于

相关项目

  • base-cli : 将内置方法映射到 CLI args 的基本方法插件(还支持来自……更多|主页的方法
  • base-config : base-methods 插件,它添加了一种config方法,用于将声明性配置值映射到其他“base… more | 主页
  • base-option:向 base 添加一些选项方法,例如option,enabledisable请参阅自述文件……更多| 主页
  • base-pipeline : base-methods 插件,它添加了用于动态组合流插件管道的管道和插件方法。| 主页
  • base-plugins:为您的基本应用程序添加“智能插件”支持。| 主页
  • base-store:用于获取和持久化您的 base-methods 应用程序的配置值的插件。添加一个“商店”对象…更多| 主页
  • base : 使用构建块等插件快速创建高质量 node.js 应用程序的框架 | 主页

贡献

拉取请求和星星总是受欢迎的。对于错误和功能请求,请创建问题

贡献者

提交 贡献者
69 琼施林克特
10 豆豆

构建文档

(本项目的 readme.md 是由verb生成的,请不要直接编辑 readme。对 readme 的任何更改都必须在.verb.md readme 模板中进行。)

要生成自述文件,请运行以下命令:

$ npm install -g verbose/verb#dev verb-generate-readme && verb

运行测试

运行和审查单元测试是熟悉库及其 API 的好方法。您可以使用以下命令安装依赖项并运行测试:

$ npm install && npm test

作者

乔恩·施林克特

执照

版权所有 © 2017,乔恩·施林克特MIT 许可发布


此文件由verb-generate-readme v0.6.0 于2017 年7 月20 日生成。

项目贡献人员列表:


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:base-data中文文档|base-data js中文教程|解析
喜欢 (0)
.excerpt .focus {display:none}