当前位置:主页 > 查看内容

Serverless SSR 本地项目改造 - 操作指南

发布时间:2021-10-16 00:00| 位朋友查看

简介:操作场景 对于部分传统框架,您需要先对项目入口进行简单改造,才可以完成迁移。 您可以选择对应框架查看改造指引(未列出的框架不需要修改代码,可直接迁移): Express Koa Next.js 和 Nuxt.js Flask Laravel 改造指引 Express 框架 打开 Express 项目的入……

操作场景

对于部分传统框架,您需要先对项目入口进行简单改造,才可以完成迁移。
您可以选择对应框架查看改造指引(未列出的框架不需要修改代码,可直接迁移):

  • Express
  • Koa
  • Next.js 和 Nuxt.js
  • Flask
  • Laravel

改造指引

Express 框架

打开 Express 项目的入口文件 sls.js(或 app.js),注释掉本地的监听端口,并导出默认的 Express app:

// sls.js
const express = require('express');
const app = express();
// *****
// 注释掉本地监听端口
// app.listen(3000);
// 导出 Express app
module.exports = app;
说明:

Express 组件默认入口文件名为 sls.js,如果您的使用了其它入口文件名,建议修改为 sls.js,或在控制台【改造指引】处填入自定义入口文件名。

Koa 框架

打开 Koa 项目的入口文件 sls.js(或 app.js),注释掉本地的监听端口,并导出默认的 Koa app:

// sls.js
const koa = require('koa');
const app = koa();
// *****
// 注释掉本地监听端口
// app.listen(3000);
// 导出 Express app
module.exports = app;
说明:

Koa 组件默认入口文件名为 sls.js,如果您的使用了其它入口文件名,建议修改为 sls.js,或在控制台【改造指引】处填入自定义入口文件名。

Next.js 和 Nuxt.js 框架

如果没有用 Express 等 Web 框架替代 Next.js 或 Nuxt.js 默认的 Web Server,上传整个工程即可。 但如果有用到 Express 等 Web 框架,需要做简单的改造,详情查看 自定义路由项目改造。

Flask 框架

项目本身代码不需要进行改造,但需要保证应用所需依赖均安装在项目目录下。

pip install -r requirements.txt -t ./

Laravel 框架

由于云函数在执行时,只有 /tmp 可读写的,所以我们需要将 laravel 框架运行时的 storage 目录写到该目录下,为此需要修改 bootstrap/app.php 文件,在 $app = new Illuminate\Foundation\Application 后添加:

$app->useStoragePath(env('APP_STORAGE', '/tmp'));

然后在根目录下的 .env 文件中新增如下配置:

# 视图文件编译路径
VIEW_COMPILED_PATH=/tmp/storage/framework/views
# 由于是无服务函数,所以没法存储 session 在硬盘上,如果不需要 sessions,可以使用 array
# 如果需要您可以将 session 存储到 cookie 或者数据库中
SESSION_DRIVER=array
# 建议将错误日志输出到控制台,方便云端去查看
LOG_CHANNEL=stderr
# 应用的 storage 目录必须为 /tmp
APP_STORAGE=/tmp

本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:字典函数 - 日志服务 下一篇:没有了

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐