如何编写now.json文件以实现完美的部署

时间:2019-05-14 10:00:38

标签: json deployment zeit-now

我使用以下教程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文件显示为默认页面。

1 个答案:

答案 0 :(得分:1)

如乔什所说,您可以使用routes将特定路径路由到输出Lambda或静态文件。

{
    "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/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,
    "name": "VideoChat",
    "builds": [
        { "src": "/server.js", "use": "@now/node-server"},
        { "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" }
    ]
}