.. _install_nextjs: =================== 安装Next.js =================== 系统要求 ================ 运行Next.js的要求是: - :ref:`nodejs` 16.14 或更高版本 - macOS, Windows (包括 WSL)和Linux 安装步骤 ========= 安装Node.js可以采用 :ref:`nodejs_dev_env` 方法 - 安装 ``nvm`` : .. literalinclude:: ../../nodejs/startup/nodejs_dev_env/install_nvm :caption: 安装 ``nvm`` 管理Node.js版本 - 安装 :ref:`nodejs` : .. literalinclude:: ../../nodejs/startup/nodejs_dev_env/nvm_install_nodejs :caption: 使用 ``nvm`` 安装Node.js 自动安装 ----------- - Next.js 提供了一种自动安装方式: 直接运行 ``create-next-app`` 就会既安装软件框架包,同时又交互式创建项目(目录): .. literalinclude:: install_nextjs/auto_install_nextjs :caption: 通过 ``create-next-app`` 就会既安装软件框架包,同时又交互式创建项目(目录) 此时会交互提示(这里我用了默认配置,仅输入 ``site`` 作为自己的项目名): .. literalinclude:: install_nextjs/auto_install_nextjs_output :caption: 通过 ``create-next-app`` 创建了项目 ``site`` ,默认参数 :emphasize-lines: 5-10 手工安装 ----------- - 手工安装是先安装 next.js 和 react 等: .. literalinclude:: install_nextjs/manual_install_nextjs :caption: 手工安装 Next.js 然后手工创建目录结构(见官方原文,比较繁琐,我这里忽略记录) 目录 ------- 通过 ``自动安装`` 之后,会形成一个项目目录,并且提供几种运行模式: - ``dev`` : 以开发模式启动 Next.js - ``build`` : 构建生产环境的应用 - ``start`` : 启动一个 Next.js 生产服务器 - ``lint`` : 设置 Next.js 内建的 ESLint 配置 运行 ======= - 运行 ``Next.js`` 程序的 ``dev`` 模式: .. literalinclude:: install_nextjs/run_dev :caption: 运行 Next.js dev模式 此时可以使用浏览器访问 http://localhost:3000/ 可以看到一个简单页面(其中提供了一些导航到官网的文档、模版等) .. figure:: ../../_static/javascript/react/nextjs/nextjs_start_dev.png 创建 ``app`` 目录 ================== Next.js 使用文件系统路由( ``file-system routing`` ),也就是说如何在应用程序中路由取决于你如何组织文件: .. literalinclude:: install_nextjs/app_tree :caption: 简单的 Next.js ``app`` 目录 简单的 ``app`` 目录下创建2个文件(如果是上述自动部署则已经自动创建): - ``app/layout.tsx`` 是确定页面布局的文件: .. literalinclude:: install_nextjs/layout.tsx :caption: ``app/layout.tsx`` - ``app/page.tsx`` 是页面内容 .. literalinclude:: install_nextjs/page.tsx :caption: ``app/page.tsx`` 参考 ======= - `Jamstack - Next.js `_ Jamstack提供了很多 `Jamstack web网站案例 `_ - `next.js docs: Installation `_