vue 宣传页预渲染成PHP template问题
用vue做的宣传单页,build 后的页面只有一个div 标签,内容都在js 文件用,最关键的是一些页面需要php变量 输出一些数据,这些数据是无状态的,异步请求浪费一次请求,需求希望在用php 模板直接报一些数据渲染到页面中,一次请求,加载出所有页面的数据。
尝试
用 prerender-spa-plugin 做预渲染,页面中没有php 直出的数据效果还可以,如果页面中需要php 变量输入数据 如:{$list} 得到一个列表,预渲染出来的html 就没有数据了。尝试配置 externals 把php 输出数据当变量 应用,但没有效果。
相关代码
externals: {
pagedata: 'pagedata'
},
// prerender-spa-plugin
plugins:[
new PrerenderSPAPlugin({
// Index.html is in the root directory.
staticDir: path.join(__dirname, '../dist'),
routes: ['/'],
// Optional minification.
minify: {
collapseBooleanAttributes: false,
collapseWhitespace: false,
decodeEntities: false,
keepClosingSlash: false,
sortAttributes: false
},
// renderer: new Renderer({
// renderAfterTime: 5000,
// })
})
]
// 不用webpack 时 单例 vue {$user} PHP模板变量
data: {
haha:{$user.haha_balance},
balance:{$user.balance},
}
需要拿到PHP 模板中的 变量数据, 然后后预渲染忽略这些变量,但能在最后build 的html 中出现。
- 2 回答
- 0 关注
- 499 浏览
添加回答
举报
0/150
提交
取消