【问题标题】:how to deploy express server api on digital ocean如何在数字海洋上部署express server api
【发布时间】:2019-04-26 19:08:00
【问题描述】:

我在数字海洋上有一个 ubuntu droplet,我很想部署一个 nodejs/express api。我使用this tutorial 制作了 api,它在我的本地机器 (MacOS) 上运行良好。但是,当我尝试在我的 droplet 上启动服务器时,出现此错误:

> node-mongo-registration-login-api@1.0.0 start /opt/loginAPI
> node ./server.js

/opt/loginAPI/_helpers/jwt.js:18
async function isRevoked(req, payload, done) {
      ^^^^^^^^

SyntaxError: Unexpected token function
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:549:28)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/opt/loginAPI/server.js:6:13)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-mongo-registration-login-api@1.0.0 start: `node ./server.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the node-mongo-registration-login-api@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/treetop/.npm/_logs/2019-04-26T18_59_02_737Z-debug.log

任何帮助或建议将不胜感激

【问题讨论】:

    标签: node.js express ubuntu-16.04 digital-ocean


    【解决方案1】:

    您在同一行中有关键字asyncfunction,解释器抱怨意外单词function,这意味着它可以处理单词async,但它不能同时识别async function。我保证您在本地拥有 Node 版本 8+,在远程服务器上拥有低于 8 的版本。此类版本的 Node.js 没有关键字 async(因为它本身不支持 async/await),因此将其视为变量或 global 对象的属性。当然它无法弄清楚,为什么你在之后使用关键字function 并退出:)

    附:请记住,Node 8 LTS 很快就会结束。

    【讨论】:

    • 啊,好吧,这很有道理。我在本地有节点 11.3。我会尝试更新我的液滴。谢谢
    • 终于有机会在我的服务器上试用了。更新节点就可以了。谢谢!
    猜你喜欢
    • 2015-03-14
    • 2021-01-08
    • 2022-01-10
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    • 1970-01-01
    • 2013-05-19
    • 2017-12-12
    相关资源
    最近更新 更多