2017-08-31 225 views
4

我使用ReactJs构建了一个网站,为了查看网站,我通常通过浏览器执行npm start并转到localhost:3000。S3亚马逊静态网站与React?

我现在想在S3上托管这个网站,但没有EC2实例。我的理解是,npm是一个进程,所以它是服务器端的,因此,我需要购买计算来实际部署我的网站。

我发现这个教程中没有提到支付的EC2实例计算时间:https://www.fullstackreact.com/articles/deploying-a-react-app-to-s3/

然而,他们仍然使用NPM这让我困惑。

我的问题是:如果我只使用Static S3 Website而没有计算,是否可以使用React?如果是的话 - 如何绕过NPM过程?

React - component in seperate script does not work

在上面后,用户试图做出反应的你好世界应用程序,但所有的答案指向他们做出的服务器服务内容的方向。我认为反应是一个前端事物,可以在没有服务器端流程的情况下运行。这是真的?有人可以解释为什么node.js是必要的或与反应配对,并且是否可以在没有ec2计算的情况下在s3上使用反应?

回答

3

可以在S3上完全托管一个静态反应站点。在这种情况下,您只能使用node/npm作为构建工具并运行开发服务器(localhost:3000)。

npm会下载您的依赖关系,您可以使用节点或gulp或webpack将资产构建到静态文件中。

然后你会上传文件到s3,它将提供静态文件。

如果你有一些后端节点代码,那么你需要使用ec2或其他类型的主机。但是,如果它完全是静态的JavaScript,那么就不需要节点服务器。

这里有一些链接,可以帮助更详细地解释:

+0

我只想在这里添加一件事,对于后端节点代码,您可以使用Lambda函数并获得无服务器世界的优势:) –

1

尝试盖茨比!在这里:https://www.gatsbyjs.org/

从Github的页面:“速度极快的静态网站发生器阵营

一旦你生成你的静态页面,则可以在S3部署,Github上的网页...的选择你的!