You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
可以从现有项目提取一个最小运行时,只包含自定义组件和预览页面相关的代码。单独打包成一个项目运行。这样就有两个项目,A 项目是用户拖拽的,B 是直接用于渲染的最小运行时。当 A 项目点击发布时,就把当前的组件数据发布到服务器,同时生成对应的 ID。在访问 B 项目时把 ID 带上,后台把组件数据返回,在 B 项目上渲染。
我现在有个方案,拿出来分享一下。
1、在public文件夹下新建一个文件夹,里面放上所有的静态资源、组件之类的,跟最小运行时有点像。这些文件,会被vue-cli自动复制一份。
2、写一个函数,接收一个json数据,返回一个模板字符串,这个字符串内容是html,会引入public里面的那些静态资源,例如vue.js、normalize.css、组件……就是把东西都引入。然后script里面new一个Vue,把拿到的json数据放进data里面。这里我引入了http-vue-loader.js,这样就可以把.vue拿来用了。
3、使用axios、jszip、file-saver。把html模板字符串用window.URL.createObjectURL转一下,然后和之前放在public里面的文件一起打包给用户。最终用户就可以得到一个zip包,解压之后是index.html和一堆静态文件,这些东西直接拖到服务器,就成了一个静态页面。
Originally posted by @longqizhu in #20 (comment)
The text was updated successfully, but these errors were encountered: