v 站的前端大佬们,紧急求助! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zczxc44
V2EX    问与答

v 站的前端大佬们,紧急求助!

  •  
  •   zczxc44 141 天前 1657 次点击
    这是一个创建于 141 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我司在做一个一键报告生成的功能,开始后端和我讲我只需要给他提供静态的 html 文件就行,所以我使用了 nuxt3 静态化生成报告的 html 文件,但是今天出了新状况我们没有把整体业务搞明白,我开始以为要什么报告我本地跑一下就行了,生成好了静态化文件丢给他,今天发现这个操作是用户触发的!也就是说用户在 app 上点击按钮=>触发我的静态化功能 生成静态化的 html 文件=>java 后端拿到静态化的产物=>用这个产物去调用 java 后端的一个服务生成报告,马上要上线这个功能了,不知道咋解决了,大佬们帮帮忙

    10 条回复    2025-06-23 14:03:22 +08:00
    darkway
        1
    darkway  
       141 天前
    你还有多少时间?距离上线
    TimG
        2
    TimG  
       141 天前 via Android
    不知道理解的对不对哈。可以把数据和展示效果都预留出来,结尾搞个 script 块,放个 js 变量等于占位符,让后端传文件给用户之前把占位符替换成数据,剩下的交给 js ,用户打开静态文件时渲染。

    ```js
    //html&css

    <script>
    let cOntext= {{value}}
    //将 context 反序列化装在对应的数据中
    </script>
    ```

    用户点击获取报告,后端提取数据,序列化成字符串替换掉 {{value}},把拼装好的 html 文件传回去。
    microscopec
        3
    microscopec  
       141 天前
    方案 1:预构建 + 动态内容注入
    const template = fs.readFileSync('report-template.html', 'utf8')
    const html = template.replace('{{DATA}}', JSON.stringify(reportData))

    方案 2:服务端部署 Nuxt3 ,将你的 Nuxt3 项目部署为一个服务,用户点击 → Java 后端 → 调用 Nuxt3 服务 API → 获取 HTML → 生成报告
    export default defineNuxtConfig({
    nitro: {
    preset: 'node-server'
    }
    })
    murmur
        4
    murmur  
       140 天前
    那你应该是理解错了,后端要的可能是 html 变模版,你得先问他是什么模版语言
    zczxc44
        5
    zczxc44  
    OP
       140 天前
    @darkway 一个礼拜。。
    lichuyi
        6
    lichuyi  
       139 天前
    后端需要 html 来生成报告,html 是什么,html 只是一段有规律的字符串而已,任意语言都可以生成
    shuangchen
        7
    shuangchen  
       139 天前
    想复杂了吧 后端应该是你给他一个 html 静态页面 他来实现动态模版
    horizon
        8
    horizon  
       139 天前
    1. nextjs 有 ISR , 不知道 nuxt 有没有
    2. 按照上面说的,给后端写个模版,后端填充内容
    leokun
        9
    leokun  
       139 天前
    ssg 的页面,如果篡改里面的内容,应该会影响水合吧
    leokun
        10
    leokun  
       139 天前
    我觉得应该就用 nuxt3 生成 ssr 的页面服务,在 nuxt 服务中调用 java 接口渲染页面
    然后在页面上用保存按钮导出类似 pdf 这样的东西(网页截图)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     841 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 22:06 PVG 06:06 LAX 14:06 JFK 17:06
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86