Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Heroku SyntaxError:意外标记';出口';_Javascript_Node.js_Heroku_Webpack - Fatal编程技术网

Javascript Heroku SyntaxError:意外标记';出口';

Javascript Heroku SyntaxError:意外标记';出口';,javascript,node.js,heroku,webpack,Javascript,Node.js,Heroku,Webpack,我正在开发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:9

我正在开发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]: ^^^^^^
我使用以下引擎部署到Heroku:

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

你们有没有遇到过这个问题?它在本地主机上运行正常,但在Heroku部署上失败。

您混合了CommonJS模块语法(
require
)和ES6模块语法(
export

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

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

module.exports = { ExpressErrorModel };

您需要或导出类似'module.exports.ExpressErrorModel=function(){/*…*/}的函数Heroku不支持ES6导出和导入?Node.js在使用CJS加载程序时不支持ES6导出,这是(默认情况下是)ok,所以我必须使用Babbel将其转换为ES6导出和导入?Nodejs不支持ESM。您可以通过实验性标签启用它,或者简单地将您的ES6代码转换为ES2015,然后运行它。感谢@Quentin,解决了这个问题。顺便说一下,您在对问题的评论中提到,我可以在package.json中启用ES6导出和导入。我该怎么做呢?
module.exports = { ExpressErrorModel };