将 MERN 应用程序部署到 digitalocean 时出现意外的令牌导出
Unexpected token export when deploying a MERN app to digitalocean
我正在尝试将 MERN 应用程序部署到 digital 海洋水滴。我已经使用 nodemon 并通过“npm 运行 dev”同时 运行 我的应用程序。 运行ning 在我的本地机器上一切正常,但是当我 git 将项目克隆到 Droplet 并尝试 npm 运行 dev 到 运行 远程应用程序时服务器,我得到:
SyntaxError: Unexpected token export
我什至删除了发生错误的中间件并再次尝试 运行,但错误发生在我代码的其他地方。从昨天开始我就一直坚持这个。你有什么想法吗?
您应该检查服务器上的 Node 版本。很可能它更旧并且您正在使用 ES6 导出。
如果你有支持 ES6 的正确版本,那么你应该确保你已经启用它(因为 CommonJS 是默认选项)。来自 the docs:
以 .mjs
.
结尾的文件
当最近的父 package.json
文件包含值为 "module"
.[=19 的顶级“类型”字段时,文件以 .js
结尾=]
字符串作为参数传递给 --eval
,或通过 STDIN
管道传递给 node
,带有标志 --input-type=module
.
我正在尝试将 MERN 应用程序部署到 digital 海洋水滴。我已经使用 nodemon 并通过“npm 运行 dev”同时 运行 我的应用程序。 运行ning 在我的本地机器上一切正常,但是当我 git 将项目克隆到 Droplet 并尝试 npm 运行 dev 到 运行 远程应用程序时服务器,我得到:
SyntaxError: Unexpected token export
我什至删除了发生错误的中间件并再次尝试 运行,但错误发生在我代码的其他地方。从昨天开始我就一直坚持这个。你有什么想法吗?
您应该检查服务器上的 Node 版本。很可能它更旧并且您正在使用 ES6 导出。
如果你有支持 ES6 的正确版本,那么你应该确保你已经启用它(因为 CommonJS 是默认选项)。来自 the docs:
以
结尾的文件.mjs
.当最近的父
package.json
文件包含值为"module"
.[=19 的顶级“类型”字段时,文件以.js
结尾=]字符串作为参数传递给
--eval
,或通过STDIN
管道传递给node
,带有标志--input-type=module
.