我有一些JS模块是使用最新的ES6模块语法编写的,因此文件以.mjs后缀存储。我想在Heroku上运行此程序,而无需使用Babel转换成较旧的语法,但是看不到做到这一点的方法。我知道我必须给节点命令行添加一个特殊的参数--experimental-modules才能使其正常工作,但是看不到如何在Heroku上执行此操作。我不能成为第一个尝试模块的人,.mjs后缀是由node.js团队创建的,目的是消除旧样式与新样式的ES6模块代码之间的歧义。
试图创建一个指定节点11.x的package.json文件,但显然这还不够。
{ “ name”:“ tic-tac-toe-server”, “ description”:“井字游戏应用程序的服务器端”, “ version”:“ 1.0.0”, “引擎”: { “ node”:“ 11.x” } }
我收到一条错误消息:
在此应用程序上设置了“ heroku / nodejs”构建包,但
远程:!无法检测到Node.js代码库。
远程:!
远程:! Heroku上的Node.js应用需要在根目录下有一个“ package.json”
远程:!目录结构