2015-02-16 2 views
0

Im в настоящее время работает над простым файловым исследователем с NW.js Я развиваюсь на linux-машине, и там он работает нормально до сих пор, но я тестировал его на системе Windows на работе, и есть проблема с перечислением всех файлов в каталог. Я разработал его для работы в обеих системах (я думал), вот ссылка на мой repo, обратите внимание на файл: js/main.js, где я устанавливаю переменную seperator как «\» на платформах Windows (в функции: getRootDir ()).node-webkit windows файловая система seperator?

В JS это:

alert("\\"); 

дает мне: "\"

разве что Seperator для окон?

Любая помощь будет оценена по достоинству.

+0

Почему бы не использовать разделитель «/» для обеих платформ? – exoddus

+0

он не работает в обоих направлениях - но более конкретно: он работает только (в обоих направлениях) с одной или двумя папками и двумя файлами, остальные игнорируются. Я написал тестовый скрипт, чтобы дать мне все в корне, и это сработало. Есть идеи? – Wolfgaung

+0

Вместо того, чтобы самостоятельно определять разделитель пути, пусть узел обрабатывает его. Попробуйте обернуть свой путь в path.resolve (войдите в консоль, чтобы дважды проверить). См. Также https://gist.github.com/domenic/2790533 –

ответ

1

Я играл вокруг немного, и обнаружили, что асинхронная один работает и синхронизации один оленья кожа - вот Асинхронный один:

 fs.lstat(rootElement.path + seperator + file, function(err, stats) { 
      if (err) {throw err;} 

      if (stats.isDirectory()) { 
       createFolderView(rootElement, file); 
      } else { 
       createFileView(rootElement, file); 
      } 
     }); 

и здесь синхронизации один:

if (fs.lstatSync(rootElement.path + seperator + file).isDirectory()) { 
    createFolderView(rootElement, file); 
} else { 
    createFileView(rootElement, file); 
} 

но не должно работать одинаково - или я что-то не хватает?