··
145
·
2024-09-01 10:15

NextJS与NuxtJS的区别有感

根据目前我nuxtJS和NextJS的开发经验来看,在NextJS的fetch数据要比nuxtJS要麻烦很多,NuxtJS对于fetch提供了丰富的包装后的API,操作起来更加简便,而nextJS则更原生一些,其实nextJS中的fetch也是包装过的,加上了一些next属性。

今天nextJS捣鼓了一天,最后还是用回了nuxtJS包装$fetch用的ofetch库。不得不说,ofetch的包装用起来真是得心应手,省了很多多余的步骤,比如说fetch request的body自动对JSON数据stringtify,再然后处理返回值直接一次then或者await就直接取数据,不用res.json()之后再来一个promise对象。

对于习惯用Vue的开发者来说,用React还是稍微有些不适应。很多人说用React能更好的造轮子,确实,React很多地方相较于Vue少了一些包装,更原生一些,也就给了你对细节更多的控制(我其实只用过nextJS,因为生产需要,直接上服务端渲染了,免得写完SPA又得迁移一遍)。因此用React选择某个库时,往往会有选择困难症,太多可选了。

而用nuxtJS有个好处就是自带的autoimport功能,自动导入模块,不需要一个个的import。有时候import得太多,会让代码显得臃肿、乱,有了autoimport不仅节省了代码,还提高了效率。这方面是nextJS没有的(不知道有没有相关的插件),但是nuxtJS有个问题真的是重伤,就是黑箱式报错,好多次不明原因的报错,并且Google上找不到任何有价值的信息,最后只能凭经验一行行删代码解决。

NextJS比NuxtJS还有一点优势,就是代码运行效率更高。用NuxtJS写代码的开发者都有一个很深的印象,就是无论是npm run dev还是npm run build,速度都很慢,每次都要等半天,而且还占内存,总之就是优化方面做得不好。而NextJS则完全相反,无论是npm run dev还是npm run build,速度都比NuxtJS快多了,根本不需要怎么等,而且不占内存,给人一种轻量的感觉,优化做得好。

不过在用prettier美化代码方面,NuxtJS倒是比NextJS要好用、顺手得多。NextJS每次美化代码,都需要跑一遍npm run format,然后再来npm run format:fix来执行美化。但NuxtJS则简单得多,每次写好代码后,直接保存就会自动对保存的文件自动执行代码美化。

最后,我想说无论是选NuxtJS还是NextJS,都是见仁见智,每个框架都各有优点和缺点,你只需要根据生产的场景找到一个最适合的框架即可😇。

0 人喜欢

Add a comment
Comments

There is no comment, let's add the first one.

弦圈热门内容

Get connected with us on social networks! Twitter

©2024 Guangzhou Sinephony Technology Co., Ltd All Rights Reserved