首页 > 解决方案 > 将 MERN 应用程序部署到 digitalocean 时出现意外的令牌导出

问题描述

我正在尝试将 MERN 应用程序部署到数字海滴。我已经使用 nodemon 并同时通过“npm run dev”运行我的应用程序。在我的本地机器上运行时一切正常,但是当我 git clone 项目到 droplet 并尝试 npm run dev 在远程服务器上运行应用程序时,我得到:

SyntaxError: Unexpected token export

我什至删除了发生错误的中间件并尝试再次运行,但错误发生在我的代码中的其他地方。从昨天开始我就一直坚持这个。你有什么主意吗?

标签: node.jsnpmsyntax-errordigital-oceanmern

解决方案


您应该检查服务器上的 Node 版本。很可能它较旧并且您正在使用 ES6 导出。

如果你得到了支持 ES6 的正确版本,那么你应该确保你已经启用了它(因为 CommonJS 是默认选项)。从文档

  • .mjs以.结尾的文件

  • .js以最近的父package.json文件包含值为 的顶级“类型”字段时结尾的文件"module"

  • 使用标志作为参数传入--eval或通过管道传递给nodevia的字符串。STDIN--input-type=module


推荐阅读