node.js - 将 MERN 应用程序部署到 digitalocean 时出现意外的令牌导出
问题描述
我正在尝试将 MERN 应用程序部署到数字海滴。我已经使用 nodemon 并同时通过“npm run dev”运行我的应用程序。在我的本地机器上运行时一切正常,但是当我 git clone 项目到 droplet 并尝试 npm run dev 在远程服务器上运行应用程序时,我得到:
SyntaxError: Unexpected token export
我什至删除了发生错误的中间件并尝试再次运行,但错误发生在我的代码中的其他地方。从昨天开始我就一直坚持这个。你有什么主意吗?
解决方案
您应该检查服务器上的 Node 版本。很可能它较旧并且您正在使用 ES6 导出。
如果你得到了支持 ES6 的正确版本,那么你应该确保你已经启用了它(因为 CommonJS 是默认选项)。从文档:
.mjs
以.结尾的文件.js
以最近的父package.json
文件包含值为 的顶级“类型”字段时结尾的文件"module"
。使用标志作为参数传入
--eval
或通过管道传递给node
via的字符串。STDIN
--input-type=module
推荐阅读
- javascript - 我如何让 jspdf pdf 文件每次都更改
- javascript - 当元素被隐藏时,元素点击不会触发
- javascript - 设置时区后,Sequelize 模型日期输出格式无法删除 UTC
- semantic-web - 使用 rdflib.serialize 时删除除 en 之外的所有本地化
- spring - 找不到spring native
- javascript - 更改多个 html 文件的主题?
- c# - 对为什么我没有可用的扩展方法感到困惑
- griddb - 从 GridDB 容器中获取数据库时没有显示 Wordcloud?
- oracle-apex - 如何有条件地显示卡片按钮?
- json - json 文件到 lua 表中