将Preact部署到Heroku

时间:2020-09-14 14:03:44

标签: heroku preact

我在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脚本以使此工作正常?

在开发中,我按照Preact文档的建议运行yarn dev。我的猜测是那只是一个开发服务器。

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"
  }
}

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:-1)

尝试一下:

{
  "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",
    // Your file name ↓ make sure to remove this comment before you go.
    "start": "node index.js"
  }

您必须在“脚本”区域内添加“开始”,然后在运行脚本类型“节点your_file_name”时,这将使“ npm start”命令运行“节点your_file_name”命令。

相关问题