2

我使用以下教程https://www.sitepoint.com/webrtc-video-chat-application-simplewebrtc/开发了一个视频聊天应用程序,文件结构如下:

simplewebrtc-messenger
├── public
│   ├── images
│   │   └── image.png
│   ├── index.html
│   └── js
│       └── app.js
├── README.md
├── now.json
└── server.js

我正在尝试使用 now.sh 来部署我的应用程序,为此我编写了以下 now.json 文件

{
    "version": 2,
    "name": "VideoChat",
    "builds": [
        { "src": "/server.js", "use": "@now/node-server"},
        { "src": "/public/index.html", "use": "@now/static"},
        { "src": "/public/js/app.js", "use": "@now/node"},
        { "src": "/public/images/*.png", "use": "@now/static"}
    ]
}

但我最终在部署后得到了应用程序的文件夹视图。

我希望 index.html 文件在部署后显示为具有所有功能的默认页面。

4

1 回答 1

4

正如 josh 所提到的,您可以使用路由将特定路径路由到您的输出 Lambda 或静态文件。

{
    "version": 2,
    "builds": [
        { "src": "/server.js", "use": "@now/node"},
        { "src": "/public/index.html", "use": "@now/static"},
        { "src": "/public/js/app.js", "use": "@now/static"},
        { "src": "/public/images/*.png", "use": "@now/static"}
    ],
    "routes": [
        { "src": "/", "dest": "/public/index.html" },
        { "src": "/js/(.*)", "dest": "/public/js/$1" },
        { "src": "/images/(.*)", "dest": "/public/images/$1" },
        { "src": "/api", "dest": "/server.js" }
    ]
}

public或者,您可以使用静态构建器将整个目录复制到输出。

{
    "version": 2,
    "builds": [
        { "src": "/server.js", "use": "@now/node"},
        { "src": "/public/**", "use": "@now/static"}
    ],
    "routes": [
        { "src": "/", "dest": "/public/index.html" },
        { "src": "/(.+js|.+css|.+png|.+ico|robots.txt)", "dest": "/public/$1" },
        { "src": "/api", "dest": "/server.js" }
    ]
}
于 2019-05-15T07:44:10.090 回答