Blame view

node_modules/fs-extra/lib/output.js 827 Bytes
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
  var path = require('path')
  var fs = require('graceful-fs')
  var mkdir = require('./mkdir')
  
  function outputFile (file, data, encoding, callback) {
    if (typeof encoding === 'function') {
      callback = encoding
      encoding = 'utf8'
    }
  
    var dir = path.dirname(file)
    fs.exists(dir, function(itDoes) {
      if (itDoes) return fs.writeFile(file, data, encoding, callback)
      
      mkdir.mkdirs(dir, function(err) {
        if (err) return callback(err)
        
        fs.writeFile(file, data, encoding, callback)
      })
    })
  }
  
  function outputFileSync (file, data, encoding) {
    var dir = path.dirname(file)
    if (fs.existsSync(dir)) 
      return fs.writeFileSync.apply(fs, arguments)
    mkdir.mkdirsSync(dir)
    fs.writeFileSync.apply(fs, arguments)
  }
  
  module.exports = {
    outputFile: outputFile,
    outputFileSync: outputFileSync
  }