NodeJS:将js对象写入文件并进行导出

时间:2019-03-30 19:05:13

标签: javascript node.js json serialization

为了澄清,我有一个像这样的JS对象

let foo = { 
  fieldA: 'local',
  fieldB:
   [ 'val1',
     'val2',
     'val3' ],
  fieldC: [],
  fieldD: 10,
  fieldE:
   [ { propA: 1,
       propB: 'foo' } ]
}

我想将其写入foo.js文件,并像exports.foo = {}一样导出

例如:

exports.foo = { 
   fieldA: 'local',
   fieldB:
    [ 'val1',
      'val2',
      'val3' ],
   fieldC: [],
   fieldD: 10,
   fieldE:
    [ { propA: 1,
       propB: 'foo' } ]
}

我通过做fs.writeFileSync('./foo.js', JSON.stringify(foo, null, 2));得到了写作部分,它当然是一个字符串化的版本:

{ 
  "fieldA": "local",
  "fieldB":
   [ "val1",
     "val2",
     "val3" ],
  "fieldC": [],
  "fieldD": 10,
  "fieldE":
   [ { "propA": 1,
       "propB": "foo" } ]
}

我在这里想念什么?

1 个答案:

答案 0 :(得分:1)

如果要像定义的那样输出对象的属性,可以使用util.inspect()。注意,您必须自己输出其余的JS语句。例如:

https://repl.it/@mwittig/Object

const util = require('util')

let foo = { 
  fieldA: 'local',
  fieldB:
   [ 'val1',
     'val2',
     'val3' ],
  fieldC: [],
  fieldD: 10,
  fieldE:
   [ { propA: 1,
       propB: 'foo' } ]
}

console.log("let foo = " + util.inspect(foo, {showHidden: false, compact: false, depth: null}))