如何写一个now.json文件完美部署
How to write a now.json file for a perfect deployment
我使用以下教程 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 文件在部署后显示为具有所有功能的默认页面。
正如 josh 提到的,您可以使用 routes 将特定路径路由到您的输出 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/" },
{ "src": "/images/(.*)", "dest": "/public/images/" },
{ "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/" },
{ "src": "/api", "dest": "/server.js" }
]
}
我使用以下教程 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 文件在部署后显示为具有所有功能的默认页面。
正如 josh 提到的,您可以使用 routes 将特定路径路由到您的输出 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/" },
{ "src": "/images/(.*)", "dest": "/public/images/" },
{ "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/" },
{ "src": "/api", "dest": "/server.js" }
]
}