NodeJS: записать объект js в файл и выполнить экспорт - PullRequest
0 голосов
/ 30 марта 2019

Чтобы уточнить, у меня есть объект 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 Ответ

1 голос
/ 30 марта 2019

Если вы хотите вывести свойства объекта, как вы определили, вы можете использовать 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}))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...