gpt4 book ai didi

node.js - 如何在 Heroku 上运行启用了 ES2017 功能的 Node.js 应用程序?

转载 作者:搜寻专家 更新时间:2023-10-31 22:18:13 27 4
gpt4 key购买 nike

我是 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 中指定要使用的 Node 版本:https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version

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

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

关于node.js - 如何在 Heroku 上运行启用了 ES2017 功能的 Node.js 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42979390/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com