javascript - ES6 Node.js 导入然后重写文件?

标签 javascript json node.js

是否可以在node.js中导入JSON文件,更新JSON中的一些属性,然后将新数据写回原位?

使用fs读取文件然后再次写入文件会更好吗?

我正在尝试使用 JSON 构建一个愚蠢的简单原型(prototype)数据库。

export const Users = [
  {
    username: 'Mike'
  }
]

export const Websites = [
  {
    owner: 'Mike',
    website: 'michael-aubry',
    build: {
        header: {
            component: 'header',
            navigation: 'standard'
        },
        main: {
            works: true,
            card: 1
        }
    }
  }
]

export const Works = [
  {
    owner: 'Mike',
    items: [
      {title: 'Dribbble Thanks', image_src: './dribbble_thanks.png'},
      {title: 'My WIP', image_src: 'bloomthat.png'},
      {title: 'Michael Angelo', image_src: 'https://d13yacurqjgara.cloudfront.net/users/371472/screenshots/2847709/studio-minted-case-studies-promo.jpg'},
      {title: 'Beautiful Art', image_src: 'https://d13yacurqjgara.cloudfront.net/users/4094/screenshots/2846992/drib106.jpg'}
    ]
  }
]

最佳答案

让我们以稍微不同的方式来思考这个问题。

我们不能使用 import 写回 JSON 文件,并且如果 JSON 文件不应该永久更改,我们不一定要写入回到正题。

如果您有一个读取 JSON 文件的模块,然后其他文件将导入模块来使用和操作该数据,该怎么办?

// data.json
{
  "users": ...,
  "websites": ...,
  "works": ...
}
<小时/>
// data.js
import data from './data.json'
export default data

现在您可以从 data.js 导入并修改这些值。

关于javascript - ES6 Node.js 导入然后重写文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38547888/

相关文章:

javascript - 为什么带有 <br> 的 "innerHTML"属性不创建新行?

javascript - 在表单提交时有条件地显示引导模式

javascript - Webworker 数据传输允许的格式

javascript - 如何将动态填充表格的信息显示到弹出窗口中?

node.js - Mongoose - 人口 MissingSchemaError

android - 通过 cmd nodejs [windows 7] 的 Phonegap 安装问题

javascript - 使用 JavaScript 计算耗时

javascript - javascript 中 JSON 的默认值

javascript - 如何更改以下代码以不使用 eval?

javascript - 如何检查使用 Promise 的函数是否成功?