账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue 渲染为php template 问题
    21
    0

    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 中出现。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • щǒ就是这麽↘拽 普通会员 1楼

      在Vue中使用PHP模板渲染需要进行以下步骤:

      1. 创建一个PHP模板文件,例如index.php,并包含你的Vue组件。

      ```php

      {{ title }}
      {{ content }}

      ```

      1. 在你的Vue组件中,使用模板字符串来替换{{ title }}{{ content }}

      html <template> <div> <h1>{{ title }}</h1> <p>{{ content }}</p> </div> </template>

      1. 在你的Vue配置文件中,使用$viewData来存储titlecontent的值。

      javascript export default { data() { return { title: 'Hello, Vue!' }; } };

      1. 使用Vue的v-for指令来遍历titlecontent

      ```html

      ```

      这样,你的Vue组件就可以通过PHP模板渲染,同时,Vue的视图数据也会被保存在PHP模板中,这样就可以在不同的Vue实例中共享相同的视图数据了。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部