2016-04-03 9 views
0

Ich versuche, versteckte Punkt-Ordner auf der gleichen Ebene wie die öffentlichen zu statischen Dateien, die ich erzeuge jeden Tag zu erstellen.Wie man mit versteckten Punkt-Ordner (/ .Dateien) oder erstellen Sie Punkt-Ordner auf Produktion

var fs = Npm.require('fs'); 

Meteor.startup(function() { 
    var dir = './../../../../../.files'; 
    if (!fs.existsSync(dir)){ 
     fs.mkdirSync(dir); 
    } 
    routePath = fs.realpathSync(dir); 
}) 

Alles funktioniert auf die Produktion, aber ich habe Fehler bei der deploy: Deployment-Prozess aufrufen: failed

Logs zeigte ich diesen Ordner nicht erstellen kann:

Error: EACCES, permission denied './../../../../../.files' 
    at Object.fs.mkdirSync (fs.js:654:18) 
    at Router.map.route.where (server/server_router.js:7:10) 
    at /opt/appname/app/programs/server/boot.js:249:5 
error: Forever detected script exited with code: 7 
error: Script restart attempt #14 

Antwort

0

Gelöst es https://www.npmjs.com/package/mkdirp

mit
var mkdirp = Meteor.npmRequire('mkdirp'); 

Meteor.startup(function() { 
    var dir = './../../../../../.folder'; 

    mkdirp(dir, function (err) { 
    if (err) console.error(err) 
    else console.log('.folder created') 
    }); 

    routePath = fs.realpathSync(dir); 
})