为什么 vue 的 nuxt.js 不跟进 nextjs 的 app route 目录结构 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhengfan2016
V2EX    Vue.js

为什么 vue 的 nuxt.js 不跟进 nextjs 的 app route 目录结构

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

    如题,我感觉 nuxt.js 加入 app route 可以很大程度的改善 vue sfc 的问题

    旧的 page route 结构,经常 page 和 component 两个目录来回跳

    - page - about.tsx - component # 纯组件 - componentA.tsx - componentB.tsx - container # 和业务耦合的组件 - componentC.tsx 

    app route 文件结构类似这样,只在 about 页面使用的组件完全可以放在 about 下,如果出现多页面复用组件再升级到 component 或者 container 目录

    - page - about - page.tsx - componentA.tsx - componentB.tsx - componentC.tsx 
    10 条回复    2025-03-29 00:48:44 +08:00
    zhanziyang
        1
    zhanziyang  
       196 天前
    app router 争议蛮大的,评价两极分化,不一定是好东西
    dingjs
        2
    dingjs  
       196 天前
    现在也可以实现,用 ignore 字段忽略 .tsx 文件,路由页面文件新增一个 index.ts 导出
    MonikaCeng
        3
    MonikaCeng  
       196 天前
    @zhanziyang #1
    app route 用文件夹做路径,文件名只能 page.tsx 或者 route.tsx
    page route 的 ts 文件名就可以作为路径名
    目前感受最深就这两个区别
    至于顶部加 'use client' 这个倒不碍事
    zhengfan2016
        4
    zhengfan2016  
    OP
       196 天前
    @MonikaCeng 对,所以 app route 可以用来放非 page 的东西,react 的话就算用 page route 也可以在一个 tsx 内放多个组件,但是 vue 就不行。我感觉如果 nuxt 支持 app route 的话,起码用户可以把和该页面强相关的组件放到同一个文件夹的非 page.vue 的 sfc 去,这样拆分组件更便捷。
    MonikaCeng
        5
    MonikaCeng  
       196 天前
    @zhengfan2016 #4
    哦,对,文件名不是 page.tsx / route.ts 的话,直接可以将相关的组件或者 hook 也放一起,这倒是 app route 优势
    zhengfan2016
        6
    zhengfan2016  
    OP
       196 天前
    @zhanziyang 争议的主要是 server 组件和 client 组件那部分吧,这里讨论的是 app route 的新的文件路由结构,并借鉴到 nuxt.js 那边。旧的 page route 你的 pages 目录下就只能放页面,但是新的 app route 允许放除了页面以外的东西,给用户更大的文件组织自由度
    MonikaCeng
        7
    MonikaCeng  
       196 天前
    @zhengfan2016 #4
    既然这样就放弃 vue ,我好几年没碰过 vue 了
    zhengfan2016
        8
    zhengfan2016  
    OP
       196 天前
    @MonikaCeng #7 没办法,中小厂 vue 岗位确实要比 react 多,没大厂履历的双非二本就是不好找工作,我都有点考虑转行测开先混个大厂光环
    MonikaCeng
        9
    MonikaCeng  
       196 天前 via iPhone
    @zhengfan2016 #8
    难道是 uniapp ?听说国内小厂都一把撸
    accelerator1
        10
    accelerator1  
       195 天前
    哦,原来我给 vue2 写的自动路由生成叫 app router ,的确比 page router 自由。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     855 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 21:40 PVG 05:40 LAX 14:40 JFK 17:40
    Do have faith in what you're doing.
    ubao 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