Портативное приложение Javascript с выводом строки в файл

#javascript #package #portability

#javascript #пакет #переносимость

Вопрос:

Я использую Javascript, завернутый в HTML, чтобы упростить задачу одного из моих студентов. Ее задача — создать текстовый файл для исследовательского проекта, который будет выступать в качестве файла конфигурации для программного обеспечения для анализа.

Я выбрал Javascript, потому что мне нужен был переносимый, прозрачный код с нулевыми зависимостями (без библиотек, без сервера, без установки), но при этом знакомый веб-интерфейс, с которым легко начать. Однако, похоже, что Javascript на стороне клиента имеет свои ограничения, когда дело доходит до обработки вывода файла.

В Stackoverflow есть несколько вопросов и ответов, которые решают проблему, обращаясь к серверным решениям, внешним зависимостям и более новому элементу загрузки HTML5.

Я подумал, следует ли мне использовать дополнительный скрипт или пакетный файл, который считывает выходные данные, но я не уверен в том, как наилучшим образом реализовать такой уровень. Файл сложен для создания, и это достигается с помощью элементов формы.

Другой идеей было бы упаковать скрипт как исполняемый файл. Например, браузер может быть вызван из Java, или HTML / JS может быть каким-то образом преобразован. Возможно, есть оболочка, с которой я не знаком.

Это один из тех побочных проектов, который быстро кодируется, и поэтому я бы предположил, что среди программистов есть решение для такого типа проблем. С одной стороны, это проблема упаковки. С другой стороны, речь идет о некоторых ограничениях Javascript для проектов, которые выполняются без серверной магистрали.

Как я могу предоставить приложение Javascript без наворотов, которое является только локальным и способно обрабатывать файловый ввод-вывод?

Комментарии:

1. Вы могли бы рассмотреть что-то вроде Electron . Однако, если вы хотите, чтобы оно запускалось в стандартном браузере, вы не сможете выполнять прямой ввод-вывод файлов без какого-либо сервера.

2. Большой двоичный объект, createObjectURL и атрибут загрузки

3. @MikeC Re: Электрон. Отличная концепция и полезная, но большие накладные расходы.

4. @noumenal Тогда вам придется либо написать свой собственный Node.js сервер и объедините его или напишите свою программу на другом языке. Javascript на стороне браузера не может дать вам то, что вам нужно, поэтому вам нужен серверный элемент. Electron может выступать в качестве этого сервера и предоставить вам достойный способ работы с ним, но если это невозможно, у вас нет вариантов в мире JavaScript, по крайней мере, в качестве основного языка хоста.