heroku - 将 Preact 部署到 Heroku
问题描述
我在 Preact 中编写了一个非常简单的应用程序。没有后端服务器,只是前端调用 Web API 并显示结果。
我在 Heroku 上设置它,它报告它部署成功,但尝试访问应用程序失败了:
2020-09-14T02:10:11.845503+00:00 heroku[web.1]: Starting process with command `npm start`
2020-09-14T02:10:14.403769+00:00 app[web.1]: npm ERR! missing script: start
我应该如何 [定义一个start
脚本来] 完成这项工作?
在开发中,我yarn dev
按照 Preact 文档的建议运行。我的猜测是这只是一个开发服务器。
FWIW,这是我的 package.json
{
"private": true,
"name": "clips-preact",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"build": "preact build",
"serve": "sirv build --port 8080 --cors --single",
"dev": "preact watch",
"lint": "eslint src"
},
"eslintConfig": {
"extends": "eslint-config-synacor"
},
"eslintIgnore": [
"build/*"
],
"devDependencies": {
"eslint": "^6.0.1",
"eslint-config-synacor": "^3.0.4",
"preact-cli": "^3.0.0",
"sirv-cli": "^1.0.3"
},
"dependencies": {
"axios": "^0.20.0",
"preact": "^10.1.0",
"preact-render-to-string": "^5.1.2",
"recoil": "^0.0.10"
}
}
解决方案
我迟到了,但是对于遇到这种情况的任何人,您根本不应该运行单独的服务器。
Preact CLI 构建为静态输出。只需将您的网络服务器(nginx、apache)指向该目录并让它处理提供文件。
推荐阅读
- java - 有没有一种好方法可以最大限度地减少 Google Maps Roads API 的负载?
- elasticsearch - 在 Elasticsearch 中实现模糊前缀全文匹配查询
- sql - 一张表的 SQL 条件联合
- sql - 对 SQL 中的类似对象使用相同的表?
- c - SDL 可以在 Atari Mint 上运行吗?
- sql - 列出类别中的项目 (SQL)
- javascript - 根据另一个数组数组过滤对象数组
- html - 如何在导航栏中的链接之间包含短垂直线?
- angular - 上传和验证 - Typescript 和 Angular
- laravel - 使用谷歌邮件在 Laravel 中发送电子邮件时出错