# 基于golang开发的一套vue服务端渲染方案 ## 使用 > govue //直接执行 > govue init //生成govue.json 配置文件 > govue --config=dev.json init //生成dev.json 配置文件 > govue --addr=127.0.0.1:8176 //运行在本地8176端口上 > govue --config=dev.json //选择dev.json作为配置文件执行 > govue --static=static //选定./static 为静态文件跟目录 > govue --use_file=static/use.js //选定./static/use.js 为服务端渲染的使用文件 ## 可以使用的库 + Vue[vue] + $[jquery] + jQuery[jquery] + axios[axios] + window[不完备的dom环境] + document[不完备的dom环境] + location[不完备的dom环境] ## 扩展方法 + Vue.UseRaw().component(..)[vue原始模板替换,不进行渲染] + GoUse(call function(ctx))[所有请求都经过该方法,优先于内联模式] + GoUseRegistered(id string,call function(query))[注册id标签对应的方法,优先于内联模式] + GetGoVueId()[获取当前页面Id] ## 扩展变量 + GoHref[当前href,请使用location.href] + GoPath[当前path,请使用location.pathname] + GoHtmlSrc[当前html原始代码,请不要使用] + GoParam[请求参数,map形式] + GoExtData[扩展数据,例如获取cookie,GoExtData['cookie'] ] + Vue.GV [用于判断是否处于服务端环境] ## 扩展标签 + gv-id 定义页面ID,只能在html上 ``` ``` + gv-src/gv-common 定义服务端渲染脚本 ``` //服务端执行index.js,执行完后去除该标签 //服务端执行index.js,执行完后保留该标签 //gv-src与gv-common 支持内联执行 ``` + gv-ignore标签,gv-ignore块下的标签不会被服务器渲染 + class='gv-ignore' 含有class为gv-ignore的标签,属性不会被渲染[新版本已经作废] + gv-ignore='@|v-on' 含有gv-ignore为属性的标签内的属性,所在值不会被vue服务端渲染,"|" 隔开,如果留空则当前标签内所有属性均不会被渲染