Я пишу метеорный пакет 'myPackage', который должен записать файл на диск с использованием модулей Npm FileSystem и Pah. Файл должен заканчиваться в примере-app/packages/myPackage/auto_generated/myFile.js, где в проекте приложения-приложения добавлен myPackage.meteor js как записать файл на диск с сервера
fs = Npm.require('fs') ;
path = Npm.require('path') ;
Meteor.methods({
autoGenerate : function(script) {
var myPath = '/Users/martinfox/tmp/auto-generated' ;
var filePath = path.join(myPath, 'myFile.js') ;
console.log(filePath) ; // shows /Uses/martinfox/tmp/auto-generated/myFile.js
var buffer = new Buffer(script) ;
fs.writeFileSync(filePath, buffer) ;
},
});
Когда я запускаю код, указанный выше (на стороне сервера только) я получаю
Exception while invoking method 'autoGenerate' Error: ENOENT,
no such file or directory '/Uses/martinfox/tmp/auto-generated/myFile.js'
Примечание/Использование/martinfox/TMP/автоматически генерируемый папка существует
- Любые идеи, что идет не так?
- Можно ли получить абсолютный путь к каталогу проектов метеоров?
Вы уверены, что ваша директория начинается с/использованию, а не/пользователей? –
Кроме того, что касается вашего второго вопроса, __dirname даст вам имя каталога, в котором выполняется текущий скрипт, находится в –
@CBlanchard Извините, мой плохой опечаток Вопрос 1 теперь работает, но я, похоже, не могу получить var filePath = path .join (__dirname + 'test, myFile.txt) – mfox