Как связать файлы html / css / js на внешнем интерфейсе? - PullRequest
0 голосов
/ 13 марта 2019

Контекст о том, что я хочу сделать

Я пытаюсь сделать что-то похожее на https://codesandbox.io/s/vanilla или https://jsfiddle.net веб-приложение, сайт, где люди могут кодировать свои собственные маленькие статические страницы, поддерживающие html, css и vanilla javascript. У меня есть текстовый редактор в браузере, где пользователь будет кодировать статическую страницу с html/css/js, у меня также есть независимый компонент GUI для управления деревом файлов, текстовые данные в файлах сохраняются в localstorage с именами в соответствии с их фиктивным path в компоненте дерева файлов.

Пользователь должен иметь возможность запускать свой код и видеть визуализацию приложения внутри <iframe>, и в настоящее время я могу отобразить файл html внутри этого <iframe>, взяв содержимое одного файла (строку) и создание URL, который я могу передать <iframe> с URL.createObjectURL()

проблема

Однако я не знаю, как отобразить страницу html/js/css, если пользователь решит закодировать свою статическую страницу, используя несколько файлов, потому что я не знаю, как разрешить пути href/require/include/src/etc, помещенные в файлы. Если файлы были сохранены на ПК пользователя, он может просто открыть их из своего файлового менеджера, и ПК / браузер определит пути, однако это не так, как работает localstorage/indexeddb/cache API. И вариант, который у меня остался - это объединить его файлы в одну страницу перед рендерингом внутри <iframe>, что-то похожее на Webpack, за исключением того, что мне придется делать это динамически на стороне клиента.

Как мне это сделать?


Другой вариант, о котором я подумал, - это написать свой собственный пакет и разобрать файлы для операторов import и замена их на URL.createObjectURL() s, что <iframe> поймет, но что кажется подверженным ошибкам и трудным

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...