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