繁体   English   中英

Heroku SyntaxError:意外的标记“导出”

[英]Heroku SyntaxError: Unexpected token 'export'

我正在开发一个 node.js/express web 应用程序。 当我在我的本地主机环境中运行时。 一切都像一个魅力。 但是当我部署到 Heroku 时,出现以下错误:

2020-11-04T19:16:15.678297+00:00 app[web.1]: SyntaxError: Unexpected token 'export'
2020-11-04T19:16:15.678298+00:00 app[web.1]: at wrapSafe (internal/modules/cjs/loader.js:979:16)
2020-11-04T19:16:15.678299+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:1027:27)
2020-11-04T19:16:15.678299+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
2020-11-04T19:16:15.678299+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:928:32)
2020-11-04T19:16:15.678300+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:769:14)
2020-11-04T19:16:15.678300+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:952:19)
2020-11-04T19:16:15.678301+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:88:18)
2020-11-04T19:16:15.678301+00:00 app[web.1]: at Object.<anonymous> (/app/twilio/handler.js:3:22)
2020-11-04T19:16:15.678301+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:1063:30)
2020-11-04T19:16:15.678302+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
2020-11-04T19:16:15.682211+00:00 app[web.1]: error: Forever detected script exited with code: 1
2020-11-04T19:16:15.886448+00:00 app[web.1]: error: Script restart attempt #83
2020-11-04T19:16:16.263688+00:00 app[web.1]: /app/server/utilities.js:3
2020-11-04T19:16:16.263698+00:00 app[web.1]: export function ExpressErrorModel(title, req, error_object, user) {
2020-11-04T19:16:16.263699+00:00 app[web.1]: ^^^^^^

它所指的文件具有以下模块:

const CryptoJS = require("crypto-js");

export function ExpressErrorModel(title, req, error_object, user) {
  let error = {
    error_title: title,
    error_request: req.headers,
    error_object: error_object,
    error_user: user,
    timestamp: new Date(Date.now())
  };
  return error;
}

我正在使用以下引擎部署到 Heroku:

  "engines": {
    "node": "14.x",
    "npm": "6.x"
  },

大家有遇到过这个问题吗? 它在我的本地主机上运行良好,但在 Heroku 部署上失败。

您正在混合 CommonJS 模块语法( require )和 ES6 模块语法( export )。

一个模块只能使用其中之一。

您的 Node.js 实例正在使用 CJS 加载器,因此将您的模块更改为以 CJS 样式导出:

module.exports = { ExpressErrorModel };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM