我尝试从CLI在Vercel(https://vercel.com,之前是Now)部署一个API(在Node中创建)。但是当我部署应用时,我打开站点,结果只是路径目录中的文件,而不是正在运行的应用。这是我的server.js
{
"name": "subtitles-api",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "node server.js",
"pre-deploy": "node deleteLastDeploy.js",
"deploy": "npm run pre-deploy && now --public && now alias",
"test": "echo \"Error: no test specified\" && exit 1"
}
"engines": {
"node": ">=6.9"
},
"keywords": [],
"author": "",
"license": "MIT",
"dependencies": {
//list of dependencies
}
}
5条答案
按热度按时间djmepvbi1#
运行
yarn global add now@latest
以安装CLI1.创建一个
now.json
文件并粘贴注意:将
"src": "server.js",
&&"dest":"server.js"
更改为您的服务器条目文件。1.添加到
.gitignore
1.然后在CLI中运行
now
进行部署。如果要部署到生产环境,请在CLI中使用
now --prod
命令进行部署下面是我部署的一个示例服务器:https://vercel-example-server.now.sh .
6qqygrtg2#
在听说Heroku不再提供他们的免费层后,我刚刚部署了一个node.js应用程序(13-09-2022)。
这些是我执行的步骤
1)创建一个vercel.json并添加以下内容
2)转到您的package.json并添加引擎列
3)不要忘记将脚本中的“start”更改为您的文件名
现在你可以开始了注意:我我不知道为什么,但我有我的文件命名为app.js我得到了一个404错误,我没有改变它为app.js无处不在,我仍然不确定,所以我不得不改变它回到index.js
igsr9ssn3#
目前,使用Vercel还不可能有一个依赖于Node的服务器运行的Web应用程序。
Vercel是一个用于静态前端和无服务器功能的云平台。
为了使用Vercel部署节点API,您需要使用它们的无服务器函数。
6pp0gazn4#
您应该查看https://github.com/Chuloo/now-express存储库,了解其无服务器样板代码
0yg35tkg5#
如果你使用的是ExpressJS,如果你试图根据他们的文档将你的应用程序部署到Vercel,你将只有一个单一的无服务器函数/API。但是这篇文章帮助我为我的Express应用程序中的每一条路线部署了单独的函数。所以你也可以部署一个NodeJS应用程序。我发现这很容易做到。
看到这个你可以部署NodeJS应用程序拆分路由到功能。
https://antappan.medium.com/deploy-express-project-with-multiple-routes-to-vercel-as-multiple-serverless-functions-567c6ea9eb36