javascript - 当我在项目中包含 express-handlebar 时,应用程序在 heroku 上崩溃,但在本地工作
问题描述
这是我添加到应用程序中导致它在 Heroku 服务器上崩溃的代码,删除这些代码会导致应用程序在 Heroku 上正常工作我的应用程序在本地使用这些代码
const exphbs = require('express-handlebars')({extname:"hbs"})
app.engine('hbs', exphbs);
app.set('view engine', 'hbs');
here is the logs below
[![enter image description here][1]][1]
[1]: https://i.stack.imgur.com/h5Mer.png
解决方案
对象字面量中的扩展运算符是在 Node.js v8.3.0 中引入的。看起来该应用程序在 Heroku 上的旧版本 Node.js 上运行。由于您提到该应用程序在本地运行,因此很明显开发和生产环境没有使用相同版本的 Node.js。您应该指定应用程序用于 Heroku 以在部署中使用的 Node.js 版本(应该是 v10+,因为express-handlebars v5.0.0放弃了对 Node 10 以下版本的支持) 。package.json
来自 Heroku 的 Node.js 部署文档:
保持开发环境和生产环境尽可能相似是个好主意。因此,请确保您的 Node.js 本地版本与您告诉 Heroku 在
package.json
文件中使用的版本相匹配。要检查您在本地运行的版本,请在命令行中键入node --version
.
推荐阅读
- php - PHP 每月预订
- git - 如何在多个项目中使用 Git 存储库?
- linux - 为什么这个 Python 代码在 Windows 上要慢得多?
- java - 从 DBUS org.freedesktop.dbus 和 java 获取数据 - org.freedesktop.DBus$Error$UnknownMethod: 方法不存在
- php - 在 Laravel 中使用带有 sortBy 的分页?
- json - 在 laravel JSON 字段中选择查询
- python - 如何从 _mysql 和/或 MySQLdb 连接中检索 MYSQL * 本机连接?
- mysql - 将 2 个结果集的结果与公共属性 mySQL 相结合
- python - 所有字典中的平均值与python中给定键的匹配值
- math - 用三角数之和表示自然数