假期学习 react,写了一个查菜谱的小网站,另外还有“老饭骨”的菜谱合集可以查看~ - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
zhangjc
V2EX    分享创造

假期学习 react,写了一个查菜谱的小网站,另外还有“老饭骨”的菜谱合集可以查看~

  •  1
     
  •   zhangjc 2022-05-03 20:43:52 +08:00 3324 次点击
    这是一个创建于 1263 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 用食材查看常见菜谱点这里

    • 想要在家里种菜?点这里

    • 老饭骨的视频合集,在这里

    第 1 条附言    2022-05-08 18:33:10 +08:00

    为本项目添加了 docker 的支持,并且镜像大小仅 11MB

    想要自己部署的朋友可以参考这条命令一键本地搭建:

    docker run -it -d --name cook -p 8080:80 zhangjc1999/cook:latest

    补充求助内容:

    • docker buildx 在打包arm64镜像时会报错,不知道有什么好的解决方案吗?
    • nextjs 的环境变量与docker的环境变量如何更好的解析和传递?
    20 条回复    2022-05-08 18:29:21 +08:00
    zhangjc
        1
    zhangjc  
    OP
       2022-05-03 20:50:29 +08:00
    这个站点支持 pwa ,喜欢的小伙伴可以 [分享] > [保存到桌面] 离线使用~

    同时这个项目也是开源的,也非常欢迎想要添加功能或者补充菜谱数据的小伙伴~
    uasier
        2
    uasier  
       2022-05-03 22:08:00 +08:00
    我不理解这种行为
    该项目原作者 github repo: https://github.com/YunYouJun/cook
    zhangjc
        3
    zhangjc  
    OP
       2022-05-03 22:12:32 +08:00
    @uasier
    1. 看关于界面的最后,有说明 UI 有参考
    2. 我在原作者的 repo 的 discussion 提了分享展示 https://github.com/YunYouJun/cook/discussions/29
    3. 我分享的主要是关于 “老饭骨” 的合集,这些数据目前只有我的站点有~
    zhangjc
        4
    zhangjc  
    OP
       2022-05-03 22:13:20 +08:00
    @uasier
    4. UI 有参考这些站点上都有说明,我是用 react 实现的,参考的站点是 vue
    uasier
        5
    uasier  
       2022-05-03 22:20:43 +08:00
    我这边部分信息没有看全,sorry 。
    zhangjc
        6
    zhangjc  
    OP
       2022-05-03 22:21:52 +08:00
    我也贴一下原作者的 vue[站点]( https://cook.yunyoujun.cn/)吧
    uasier
        7
    uasier  
       2022-05-03 22:23:44 +08:00
    @uasier 非常抱歉
    gogogo1203
        8
    gogogo1203  
       2022-05-03 23:12:25 +08:00   1
    支持! 刚刚在 React 区有个刚接触 react 就跑出来 diss react 各种不足,你比那人强 100 倍。
    gogogo1203
        9
    gogogo1203  
       2022-05-04 00:37:15 +08:00
    看了一下你的代码,我在搞的项目也用的 vite, zustand, typescript. https://homebh.tk/editor 还没有搞完。 如果你无聊,可以研究一下 react-dnd, 把食材拖拽到各个烹饪器具上。
    gogogo1203
        10
    gogogo1203  
       2022-05-04 00:38:08 +08:00
    ```
    gogogo1203
        11
    gogogo1203  
       2022-05-04 00:39:20 +08:00
    function toggleStaff(stuffs: Set<string>, stuff: string): Set<string> {
    if (!stuff) {
    return stuffs
    }

    你说的 stuff 是不是 ingredient, 换个其他的名字吧
    Outshine
        12
    Outshine  
       2022-05-04 00:53:01 +08:00
    我好奇的问一下,你和原作者都用的这种 tailwind class 的写法,和直接在 className 里赋值比起来有啥优点嘛?
    zhangjc
        13
    zhangjc  
    OP
       2022-05-04 0057:30 +08:00 via iPhone
    @gogogo1203 对的,确实命名这块没有完全统一,需要改一下
    zhangjc
        14
    zhangjc  
    OP
       2022-05-04 00:58:40 +08:00 via iPhone
    @Outshine 不清楚了我是跟着 nextjs 官方教程走的(这个仓库第一个提交还是 learn nextjs )
    我本身是后端开发,也是第一次用前端的框架写项目
    zhangjc
        15
    zhangjc  
    OP
       2022-05-04 01:02:36 +08:00 via iPhone
    @gogogo1203 体验了一下,挺不错又多了一个可以尝试的东西
    zhangjc
        16
    zhangjc  
    OP
       2022-05-04 01:06:03 +08:00 via iPhone
    @Outshine 以前只写过裸 js 和 css 的 demo ,就开发体验来讲,tailwind 和 react 组件的内聚性更高一些,会比直接撸 css 快很多。(不过我没太多前端开发经验,个人感受仅供参考
    Outshine
        17
    Outshine  
       2022-05-04 01:10:43 +08:00
    @zhangjc 昂,我想问的其实是相对于 `<div className="text-xl mt-4"></div>` 来说, 你们用的这种 `<div text-xl m="t-4"></div>` 的写法优势在哪?少写一个 className ?
    Leviathann
        18
    Leviathann  
       2022-05-04 01:11:08 +08:00   1
    @Outshine 不用两个文件来回切,而且是根据功能打包好的,一个功能的原子类可以对应几条 css
    Leviathann
        19
    Leviathann  
       2022-05-04 01:13:12 +08:00
    @Outshine 这个写法感觉是格式化更友好把,不然有的复杂点的 classname 太长了
    zhangjc
        20
    zhangjc  
    OP
       2022-05-08 18:29:21 +08:00
    添加了 docker 的支持,并且镜像大小仅 **11MB**

    想要自己部署的朋友可以参考这条命令一键本地搭建:

    `docker run -it -d --name cook -p 8080:80 zhangjc1999/cook:latest`
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2397 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 15:35 PVG 23:35 LAX 08:35 JFK 11:35
    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