首页 > 技术文章 > normalizr api 转换类库使用

rongfengliang 2018-01-02 17:39 原文

1. 项目初始化
yarn  init 
yarn add normalizr
项目结构
app.js
package.json
user.json
2. 使用
a. app.js

const userjson = require("./user.json");
const { normalize, schema } = require('normalizr');

// Define a users schema
const user = new schema.Entity('users');

// Define your comments schema
const comment = new schema.Entity('comments', {
  commenter: user
});

// Define your article 
const article = new schema.Entity('articles', { 
  author: user,
  comments: [ comment ]
});

const normalizedData = normalize(userjson, article);

console.log(normalizedData)
b. package.json
{
  "name": "normalizrapp",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "dependencies": {
    "normalizr": "^3.2.4"
  }
}

c. user.json
{
    "id": "123",
    "author": {
      "id": "1",
      "name": "Paul"
    },
    "title": "My awesome blog post",
    "comments": [
      {
        "id": "324",
        "commenter": {
          "id": "2",
          "name": "Nicole"
        }
      }
    ]
  }
3. 参考文档
https://www.npmjs.com/package/normalizr
https://github.com/rongfengliang/normalizrdemo

推荐阅读