Blame view

node_modules/ini/README.md 2.65 KB
ce4c83ff   wxy   初始提交
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
  An ini format parser and serializer for node.
  
  Sections are treated as nested objects.  Items before the first
  heading are saved on the object directly.
  
  ## Usage
  
  Consider an ini-file `config.ini` that looks like this:
  
      ; this comment is being ignored
      scope = global
  
      [database]
      user = dbuser
      password = dbpassword
      database = use_this_database
  
      [paths.default]
      datadir = /var/lib/data
      array[] = first value
      array[] = second value
      array[] = third value
  
  You can read, manipulate and write the ini-file like so:
  
      var fs = require('fs')
        , ini = require('ini')
  
      var config = ini.parse(fs.readFileSync('./config.ini', 'utf-8'))
  
      config.scope = 'local'
      config.database.database = 'use_another_database'
      config.paths.default.tmpdir = '/tmp'
      delete config.paths.default.datadir
      config.paths.default.array.push('fourth value')
  
      fs.writeFileSync('./config_modified.ini', ini.stringify(config, { section: 'section' }))
  
  This will result in a file called `config_modified.ini` being written
  to the filesystem with the following content:
  
      [section]
      scope=local
      [section.database]
      user=dbuser
      password=dbpassword
      database=use_another_database
      [section.paths.default]
      tmpdir=/tmp
      array[]=first value
      array[]=second value
      array[]=third value
      array[]=fourth value
  
  
  ## API
  
  ### decode(inistring)
  
  Decode the ini-style formatted `inistring` into a nested object.
  
  ### parse(inistring)
  
  Alias for `decode(inistring)`
  
  ### encode(object, [options])
  
  Encode the object `object` into an ini-style formatted string. If the
  optional parameter `section` is given, then all top-level properties
  of the object are put into this section and the `section`-string is
  prepended to all sub-sections, see the usage example above.
  
  The `options` object may contain the following:
  
  * `section` A string which will be the first `section` in the encoded
    ini data.  Defaults to none.
  * `whitespace` Boolean to specify whether to put whitespace around the
    `=` character.  By default, whitespace is omitted, to be friendly to
    some persnickety old parsers that don't tolerate it well.  But some
    find that it's more human-readable and pretty with the whitespace.
  
  For backwards compatibility reasons, if a `string` options is passed
  in, then it is assumed to be the `section` value.
  
  ### stringify(object, [options])
  
  Alias for `encode(object, [options])`
  
  ### safe(val)
  
  Escapes the string `val` such that it is safe to be used as a key or
  value in an ini-file. Basically escapes quotes. For example
  
      ini.safe('"unsafe string"')
  
  would result in
  
      "\"unsafe string\""
  
  ### unsafe(val)
  
  Unescapes the string `val`