当前位置: 首页 > 面试题库 >

如何在Heroku上启用ES2017功能的情况下运行Node.js应用程序?

萧凡
2023-03-14
问题内容

我是Node的新手,并创建了一个其中包含一些async / await语法的应用程序,如下所示:

const express = require('express');
const app = express();

const someLibrary = require('someLibrary');

function asyncWrap(fn) {
  return (req, res, next) => {
    fn(req, res, next).catch(next);
  };
};

app.post('/getBlock', asyncWrap(async (req,res,next) => {
  let block = await someLibrary.getBlock(req.body.id);
  [some more code]
}));

app.listen(process.env.PORT || 8000);

它在我的机器上可以正常工作,但是当我部署到Heroku时,由于不支持语法而出现错误:

2017-03-23T10:11:13.953797+00:00 app[web.1]: app.post('/getBlock', asyncWrap(async (req,res,next) => {
2017-03-23T10:11:13.953799+00:00 app[web.1]: SyntaxError: Unexpected token (

使Heroku支持此语法的最简单方法是什么?


问题答案:

指定要在package.json中使用的节点版本:https :
//devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-
version

因此,对于异步/等待支持,您需要指定> = 7.6.0

{
  "engines": {
    "node": ">= 7.6.0"
  }
}


 类似资料:
  • 问题内容: 我用的是需要挂钩的BabelJS(原名6to5)与运行节点的应用程序es6features: 我打电话来运行我的 app.js6 。我需要安装BabelJS并为我想使用es6features的每个项目提供一个 run.js。 我希望打个电话。如何独立实现该系统(Unix和Windows)? 问题答案: 将and (又名ES6)依赖项添加到应用程序的package.json文件中,并定义

  • 问题内容: 我正在尝试使用Node.js将带有AngularJS的Hello World构建推送到Heroku中。但是有多个视图(局部)。 我首先不使用ngRoute部署了Hello World,这意味着:没有局部。很好,很顺利。然后,我尝试推送2个简单的局部。但我认为问题在于托管应用程序,同时要求提供部分内容。我知道这不是正确的方法,我需要您的建议。 这是我的index.html: 部分“ te

  • 问题内容: 我已经编写了一个基本的node.js应用程序,并且设法将其部署在Heroku上没有任何问题。我创建了 package.json 和 Procfile ,但是从日志中看到没有正在运行的进程,因此无法获得任何响应。可能是什么问题呢? PS: 我不想使用 Express 框架 我的代码: 我的package.json: 日志: 问题答案: 您已缩放heroku应用程序了吗? 这是必需的步骤。

  • 我使用创建了一个应用程序构建文件。这将用和文件填充文件夹。 我在internet上进行了搜索,发现可以使用运行这些文件。不幸的是,这会产生以下错误输出: org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.boot.autocigure.orm.jpa.hibernatejpaAutoCo

  • 我在我的项目中使用带有MongoDb和Elasticsearch的Springboot。当我的Elasticsearch服务器运行时,我的Springboot应用程序运行良好,但当Elasticsearch服务器停止时,我的Springboot应用程序也无法启动。根据我的项目要求,即使Elasticsearch服务器无法启动,我们的Springboot应用程序仍应运行,因为我们的大多数API都是基

  • 在Spring Boot中,文档似乎鼓励在应用程序启动时运行迁移。 这很好,但有时应用程序启动可能会有副作用/依赖性,我不想麻烦-我只想自己运行迁移。设想一下,只需建立一个本地开发人员数据库,就可以在其中闲逛,甚至不用运行应用程序。 相比之下,在Dropwanner中,单独运行迁移对于应用程序的内置参数来说很简单,就像这样 Spring靴有什么等价物吗?还是我必须直接去喝liquibase? 我对