使用netlify-lambda无需重新构建即可部署应用程序

时间:2019-03-13 19:02:58

标签: express next.js netlify

有没有一种方法可以使用netlify来构建应用程序。我已经通过自定义 webpack Nextjs 应用程序中配置了所有内容。如果可以在netlify上提供服务,而只是用serverless-http脚本封装现有应用程序,那就更好了。

有一个yarn build脚本可构建所有代码库并收集在.next文件夹中。通常,通过此脚本NODE_ENV=production node server.js在该文件夹中提供应用程序。有没有一种方法可以将这些块部署到netlify,而无需重新构建。

项目结构
  • 组件
  • 嵌套
  • lambdas
    • server.js(下面共享代码)
  • 故事书
  • netlify.toml
  • ...
  • server.js(用于dev)

lambda函数示例 lambda / server.js

const express = require("express");
const next = require("next");
const serverless = require("serverless-http");
const port =
  parseInt(process.env.PORT, 10) || 3000;
const dev = process.env.NODE_ENV !== "production";
const app = next({ dev });
const handle = app.getRequestHandler();

app.prepare().then(() => {
  const server = express();

  server.get("/", (req, res) => {
    return app.render(req, res, "/", req.query);
  });

  server.listen(port, err => {
    if (err) throw err;
    console.log(
      `> Ready on http://localhost:${port}`
    );
  });
});
module.exports.handler = serverless(app);

0 个答案:

没有答案