javascript - Babel NodeJS ES6: SyntaxError: Unexpected token export
问题描述
我正在尝试使用 babel 来运行我的 NodeJS 程序,其中包括 ES6 语法和从 Colyseus 库中导出。但是,当我运行命令时:
babel-node server.js
出现以下错误消息:
export class MyRoom extends colyseus.Room {
^^^^^^
SyntaxError: Unexpected token export
下面是我的 package.json 文件:
{
"name": "app",
"version": "1.0.0",
"description": "a description",
"main": "server.js",
"scripts": {
"test": "babel-node server.js",
"build": "babel-node server.js"
},
"author": "henryzhu",
"license": "ISC",
"dependencies": {
"actionhero": "^19.1.2",
"colyseus": "^0.9.33",
"easytimer.js": "^2.3.0",
"express": "^4.16.3",
"socket.io": "^2.1.0",
"socketio": "^1.0.0",
"uniqid": "^5.0.3"
},
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-preset-env": "^1.7.0",
"babel-preset-es2015": "^6.24.1"
}
}
下面是我的 server.js 文件:
var colyseus = require("colyseus");
var http = require("http");
var express = require("express");
var port = process.env.port || 3000;
var app = express();
app.use(express.static("public", { dotfiles: 'allow' }));
var gameServer = new colyseus.Server({
server: http.createServer(app)
});
export class MyRoom extends colyseus.Room {
// When room is initialized
onInit (options) { }
}
gameServer.listen(port);
解决方案
添加具有以下 ( .babel.config.js
) 的配置文件:
module.exports = {
presets: [
'@babel/preset-env'
]
};
然后运行:
babel-node --config-file .babel.config.js server.js
推荐阅读
- json - Spring DataJPATests 和 Postgres 的 Json Typedef
- node.js - nodeJS 发生了什么?卸载并重新安装时抛出错误
- python - 使用 Selenium (Python) 插入内联图像
- c++ - 如何使用winsock2连接到本地主机
- python - 带引号的 python 参数中带有空格的字符串
- php - 更新到 PHP 7.4.6 后 Nette 出现问题
- php - 当条件由组件方法给出时,Laravel 刀片条件在组件中不起作用
- amazon-web-services - java.lang.NullPointerException:无法在空对象上调用方法 minus() - Jenkins
- html - 移动设备上的 Bootstrap/MDBootstrap 无法正确显示封面图像,Live Server 问题
- node.js - 为什么 WebRTC 会丢弃音频