微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将Preact部署到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脚本以使此工作正常?

在开发中,我按照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"
  }
}

解决方法

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

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

,

尝试一下:

{
  "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”命令。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。