Home

Awesome

fc-next-nodejs8

<a name="WNjE0"></a>

背景

next.js 是一种 React 的服务端渲染框架,且 next.js 集成度极高,框架自身集成了 webpack、babel、express 等,使得开发者可以仅依赖 next、react、react-dom 就可以非常方便的构建自己的 SSR React 应用,开发者甚至都不用像以前那样关心路由。<br /> <br />next.js 的高度集成性,使得我们很容易就能实现代码分割、路由跳转、热更新以及服务端渲染和前端渲染。<br /> <br />next.js 可以与 express、koa 等服务端结合使用。为了能让 next.js 在函数计算运行,首先需要让 next.js <br />在 express 中运行起来,然后再移植 express 到函数计算中运行。express 应用移植相关文章:

现在,我们提供了一个 fun 模块,通过该模板,三分钟就可以让 next.js 应用在函数计算中运行起来。效果如下:

nextjs

<a name="j8nW7"></a>

快速开始

<a name="f0WMI"></a>

1. 安装 node

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.5/install.sh | bash
nvm install 8

<a name="akT1c"></a>

2. 安装 fun 工具

npm install @alicloud/fun -g

fun 工具的某些子命令可能会用到 docker,所以你需要安装好 docker,具体参考文档:Fun 安装教程

<a name="buYgl"></a>

3. 通过 fun 模板生成项目

fun init -n demo https://github.com/muxiangqiu/fc-next-nodejs8.git

项目生成好后,在根目录下有个 README.md 文件,阅读该文件可以帮你快速了解项目骨架为你做了什么,以及相关的命令。具体详情:README.md

<a name="7UWYu"></a>

4. 安装依赖

cd demo # 切换到项目根下面,后面的所有命令,都是在项目根下面执行
npm install

<a name="Bm8eG"></a>

5. 本地运行 next.js

npm run dev

<a name="A5hhg"></a>

6. 编译 next.js 

npm run build

<a name="5nJzC"></a>

7. next.js 在本地函数中运行

npm run start

<a name="LVQl9"></a>

8. 部署函数到云端

部署函数的时候需要用到 AK 等下信息,可以通过 fun config 来配置,如果配置过请忽略,部署函数命令如下:

npm run deploy

<a name="87qCK"></a>

小结

该模板默认提供的是 http 触发器方式触发函数,同时也提供了 API 网关方式触发函数,只是与 API 网关的代码被注释掉了而已,其中,template.yml 文件与 API 网关相关的配置也被注释掉了。在模板项目中,提供了两个比较重要的文件:server.js 和 fc.js。server.js 负责 next.js 与 express 对接;fc.js 负责 express 与 express 对接。这两个文件一般情况下不需要修改。接下来,你就可以按照 next.js 标准方式开发 next.js 应用了。

<a name="MsAnv"></a>

相关链接