0

Я создаю небольшое приложение в HTML/CSS/JavaScript. Доступ в Интернет недоступен, поэтому он должен работать полностью в автономном режиме. Исследователь будет использовать приложение для сбора данных, и CSV-файл будет сгенерирован с этими данными для исследования для анализа.Есть ли реализация WebKit, которая позволяет легко обращаться к локальной файловой системе?

JS имеет встроенные механизмы безопасности для предотвращения доступа к локальной файловой системе. Мой текущий план состоит в том, чтобы создать приложение Chrome, сохранить все в chrome.storage и в конечном итоге записать в файл с помощью Chrome chrome.fileSystem. Это не идеально, так как это требует от исследователя предоставления доступа для каждого файла (я не уверен, что вы можете предоставить доступ к папкам?) Или потребовать, чтобы исследователь «загружал» файлы, а не просто их просто записанный на диск.

Я ищу решение, которое было бы таким же простым, как чтение/запись в локальные файлы на других языках (Java, Python). Я думал, возможно, может быть сборка WebKit, которая позволяет это, или некоторые флагов хрома, которые я могу установить. Есть ли лучшие решения?

+1

Вы можете предоставить доступ для чтения/записи к папке один раз и сохранить его в сеансах. см. http://stackoverflow.com/questions/27733811/chrome-app-access-external-resources-with-javascript-jquery-angularjs/27734353#27734353 – levi

ответ

4

nw.js (ранее node-webkit) оказался тем, что я искал.

Он позволяет вам получить доступ к модулям node.js непосредственно из DOM, поэтому вы можете писать в локальные файлы, используя javascript inline вместе с остальной частью вашего кода. Он также позволяет вам упаковать приложение вместе, чтобы вы могли развернуть его как исполняемый файл.

У этого сообщества также есть активное сообщество и numerous apps from developers, поэтому он готов к производству.

0

WebKit, вероятно, не лучшая отправная точка здесь - если вам нужен доступ к локальной файловой системе, и вы чувствуете, как будто вы хотите построить приложение в HTML & Javascript, вы должны смотреть на Node.JS, что позволит вам использовать знакомый синтаксис, но он имеет право делать все файлы для работы с файловыми файлами, которые вы ищете.

Существует множество руководств по Node.js и Express, вы можете быстро запускать и запускать.

+0

Я считал это, но я не уверен, насколько это возможно для развертывания. (Я никогда не использовал node.js). Мне было бы легко настроить локальный сервер с MAMP и использовать PHP для создания файлов, но у меня не будет доступа к компьютеру, на котором будет развернуто это приложение, поэтому мне нужно что-то с меньшим количеством движущихся частей , – Jeff

+0

похоже, что есть некоторые проекты, которые объединяют хром и узел, такие как node-webkit. некоторые другие предложения [здесь] (https://nodesource.com/blog/node-desktop-applications). я проверю их, спасибо – Jeff