我正在尝试制作类似于https://codesandbox.io/s/vanilla或https://jsfiddle.net Webapp的网站,人们可以在该网站上编写支持html
,css
和vanilla javascript
。我有一个浏览器内文本编辑器,用户将在其中使用html/css/js
编写一个静态页面,我还具有一个独立的GUI组件来管理文件树,文件中的文本数据保存到{{1 }},并根据文件树组件中虚构的localstorage
命名。
用户应该能够运行其代码并在path
内查看应用程序的渲染,目前,我可以通过获取其中一个的内容在<iframe>
内显示html
文件文件(字符串)并创建一个URL,我可以使用<iframe>
<iframe>
但是,如果用户选择使用多个文件对静态页面进行编码,我将不知道如何显示URL.createObjectURL()
页面,因为我不知道如何解析文件中的html/js/css
路径。如果文件保存在用户的PC中,则他可以从其文件管理器中打开它们,然后PC /浏览器会找出路径,但是href/require/include/src/etc
API都不起作用。我剩下的选择是将他的文件捆绑到一个页面中,然后在localstorage/indexeddb/cache
内进行渲染,这类似于<iframe>
,除了我必须在客户端动态地进行操作。
我想到的另一个选择是编写自己的捆绑器并解析
Webpack
语句的文件,并替换为import
会理解的URL.createObjectURL()
个, 似乎容易出错并且很困难