如何将Express.js后端/ React.js前端应用程序部署到Netlify

时间:2020-01-09 00:04:40

标签: function express deployment netlify

我正在尝试将MERN堆栈应用程序部署到Netlify。它是一个集成的代码库,其中前端和后端位于同一存储库中(一个package.json文件)。据我了解,Netlify将只部署前端,而后端则必须与Netlify Lambda Functions连接。

问题似乎是(例如,)videoService.js中的提取请求调用了路由“ api / videos”,该过程失败了,因为在部署的版本中无法访问route / api文件夹(来自express)该网站。

    src / utils / videoService.js中的
  • 代码
async function getChannelVideos() {
    console.log('getChannelVideos called in videoService');
    const options = {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json'
        }
    };
    console.log('approaching fetch in videoService');
    return fetch(`/api/videos`, options).then(res => res.json());
}

https://docs.netlify.com/functions/build-with-javascript/#format 我遵循了Netlify的文档示例(在上面的链接中),创建了一个functions文件夹并编写了一个函数,当您在URL中键入终结点时该函数起作用了,但是我不清楚如何将其应用于当前项目/问题。

  • 来自functions / serve.js的代码
exports.handler = function (event, context, callback) {
  callback(null, {
    statusCode: 200,
    body: 'Hello?'
  });
}

我找到的最近的一篇文章是: https://blog.bitsrc.io/react-production-deployment-part-1-netlify-703686631dd1 最后一个示例“与Express.js –v2互动” 与我的项目相匹配,因为它是一个包含package.json文件的集成代码库。 但是,我不清楚如何连接Routes文件夹,Controllers文件夹,并且在此之后还担心如何连接Models文件夹(或通常的数据库)。

我不确定是否必须重组我的整个项目…是否应该像示例所示将所有Routes和Controller函数移到src目录中?

我非常感谢您的帮助!!

萨曼莎

0 个答案:

没有答案