代码之家  ›  专栏  ›  技术社区  ›  P_M

从AWS Lambda http链接运行Vue应用程序

  •  0
  • P_M  · 技术社区  · 5 年前

    我想构建一个以链接的最后一部分为参数的web应用程序:

    https://aws-lambda/index/water
    

    这里的水是一个论点。然后,服务器将接受此参数并调用数据库以获取一些数据。

    服务器响应将是一个SPA Vue JS应用程序,它包含(或可以访问)与上一步中的参数相关的数据。参数集可能很大,但遵循以下模式:

    https://aws-lambda/index/water
    https://aws-lambda/index/water/intro
    https://aws-lambda/index/water/description
    https://aws-lambda/index/snow
    https://aws-lambda/index/snow/intro
    https://aws-lambda/index/snow/description
    ...
    

    为了做到这一点,我做了:

    • AWS lambda函数,接受用户http调用。然后,它获取链接的最后一部分并加载数据。

    • 简单的vue应用程序和构建

      npm运行构建

    我将其部署到AWS S3,并看到它在那里工作(我已经打开了应用程序对bucket的http访问)

    然后我想运行Vue应用程序作为lambda函数http调用的结果。为此,我使用了与部署在S3 Vue应用程序上时相同的index.html,并将其用作lambda函数的响应。这给了我一个关于从index.html调用的文件未找到的错误,但我修复了链接和所有加载的文件,没有错误,但Vue应用程序页面是空的。这是我得到的html响应:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset=utf-8>
        <meta name=viewport content="width=device-width,initial-scale=1">
        <title>front</title>
        <base href="http://ghr-showroom.s3-website.us-east-2.amazonaws.com">
        <link href=/static/css/app.0b9ee66846b76d347f3d7105394fbb09.css
            rel=stylesheet>
    </head>
    <body>
        <div id=app></div>
        <script type=text/javascript
            src=/static/js/manifest.2ae2e69a05c33dfc65f8.js></script>
        <script type=text/javascript
            src=/static/js/vendor.572ec9cc135a64e9c562.js></script>
        <script type=text/javascript src=/static/js/app.d75fc84987a696677f3c.js></script>
    </body>
    </html>
    

    如何从AWS Lambda http链接运行Vue应用程序?

    0 回复  |  直到 5 年前