2021-10-14 nuxt3 更新

    上次关注nuxt还是因为 nuxt 支持 composition-api,在当时的分享里 nuxt3看起来遥遥无期,首先开发工作是保密不开源的,时间表也不确定(更新:有时间表了看下面),一下支到了 2021 年的某个时间点,要知道当时 vue3 已经经历过 beta/rc/release 了,展望 vue3 的 ssr 方案居然没nuxt

    下图是之前的计划:
    image.png

    最近看到,nuxt github 讨论区还是有一些进展的。首先是先 重构了网站,顺便做一个做网站的工具 docus,大雾。他们搞了一个新网站,可以去链接里去看信息https://github.com/nuxt/nuxt.js/discussions/9535

    网站撇开先不说,讨论区里提到了 nuxt3 公测计划,2021年9月公开测试。 不准,看下面。

    没有时间表

    更新: 2021-09-16 给出时间表了,10月12日。网址也更新了 https://nuxtjs.org/v3/

    image.png

    • 2021-07 内侧
    • 2021-09 公测 - 看起来推迟了一个月
    • 2021 第四季度 稳定版,生产可用

    特点:

    • lighter 更轻量,开箱可用,体积更小13kb
    • faster 更快,分割、通过 h3 驱动,一个非常mini的http框架
    • hybrid 增量静态生成ISR 等其他高级模式(next那一套)
    • suspense 导航之前或之后获取任何组件的数据
    • composition api
    • nuxt cli 全新0依赖
    • nuxt devtools
    • nuxt kit 模块兼容nuxt2/3
    • webpack5 构建更快、速度更小,无需配置
    • vite(beta)
    • vue3
    • typescript

    还搞了一个新的SSR引擎 Nitro,这个东西的存在(看起来和next似的)是为了全栈,提供后端能力。

    有 rollup/node workers 驱动hmr和上下文隔离。也有api能力。

    1. {
    2. "dependencies": {
    3. "nuxt3": "^0.10.0-27145291.91c6ef5"
    4. }
    5. }
    1. npx nuxt dev

    简单看一下 node_modules 调用链,可以一路找到 node_modules/nuxi/dist/chunks/index.js#_main函数,我们对 nuxt dev进行断点调试。

    解析的过程略,就说点关键的:

    • command = dev
    • showBanner
    • commands.dev /nuxi/dist/chunks/dev.js
    • dev.js#dev.invoke

    npx nuxi dev [rootDir] [—clipboard] [—open, -o]


    1. npx nuxi init nuxt3-app # 启动项目,这时候会从 github 拉代码
    2. pnpm i
    3. pnpm run dev -o