首页 > 解决方案 > 将 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"
  }
}

标签: herokupreact

解决方案


我迟到了,但是对于遇到这种情况的任何人,您根本不应该运行单独的服务器。

Preact CLI 构建为静态输出。只需将您的网络服务器(nginx、apache)指向该目录并让它处理提供文件。


推荐阅读