javascript NodeJS模块,用于通过www.jsonstore.io(ala firebase)存储(公共)JSON

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript NodeJS模块,用于通过www.jsonstore.io(ala firebase)存储(公共)JSON相关的知识,希望对你有一定的参考价值。

fetch = fetch || require('node-fetch')

function jsonstoreio(username /* : string */, path /* : string */, method /* : string */, body /* : ?string */) /* : Promise */ {
  const key = username + 'f83c453cec7234be5bb130fcee5b573bc5fa2573dd647ec54b51075d258c3840'.slice(username.length)
  
  const isUPSERT = method.toUpperCase() !== 'GET' && method.toUpperCase() !== 'DELETE'
  
  const params = (!isUPSERT && body) 
  	? Object.keys(body)
      .map(key => `${key}=${encodeURIComponent(body[key])}`)
      .join('&')
  	: ''
  
  return fetch(
    `https://www.jsonstore.io/${key}/${path}?${params}`, {
      headers: { 'Content-type': 'application/json' },
      method,
      body: isUPSERT ? JSON.stringify(body) : undefined,
    }).then(r => r.json());
}

/*
// Send POST requests to store data, PUT and DELETE requests to modify or delete data, and GET requests to fetch data.
// Note: GET supports params: orderKey (orderByChild); filterValue and valueType
// https://github.com/bluzi/jsonstore/blob/master/api/routes.js#L23
// https://github.com/bluzi/jsonstore/blob/master/api/database.js#L41

 await jsonstoreio('11steveo11', 'users/1', 'POST', { age: 1, nums: 4 })
 await jsonstoreio('11steveo11', 'users/99', 'POST', { age: 99, nums: 3 })
 await jsonstoreio('11steveo11', 'users/2', 'POST', { age: 2, nums: 2 })
 await jsonstoreio('11steveo11', 'users/2/age', 'PUT', 22)
 await jsonstoreio('11steveo11', 'users', 'GET')
 await jsonstoreio('11steveo11', 'users', 'GET', { orderKey: 'nums' })
 await jsonstoreio('11steveo11', 'users', 'GET', { orderKey: 'age', filterValue: 1, valueType: 'number' })
 */

以上是关于javascript NodeJS模块,用于通过www.jsonstore.io(ala firebase)存储(公共)JSON的主要内容,如果未能解决你的问题,请参考以下文章

javascript 用于下载(http)URI的NodeJS模块。

Nodejs 加密模块不适用于打字稿

用于复杂应用程序结构的 NodeJS 本地模块

如何在 vanilla Javascript 文件中导入 nodejs 模块

如何使用nodejs做爬虫程序

nodeJs-url 模块