Javascript 尝试将类导出为模块ES6 babel

Javascript 尝试将类导出为模块ES6 babel,javascript,browserify,ecmascript-6,babeljs,Javascript,Browserify,Ecmascript 6,Babeljs,我有一个ES6类,我正试图将其导出为一个模块,但是我得到一个错误SyntaxError:意外的保留字 Car.js 我试着像这样使用汽车模块 main.js 我正在使用带babelify的browserify转换为ES6 browserify -t babelify main.js -o public/scripts/bundle.js", 我是否正确导出了汽车模块,或者我做错了什么?我的问题是,我正在使用一个同构的React.js应用程序,babelify browserify转换很好,我的

我有一个ES6类,我正试图将其导出为一个模块,但是我得到一个错误SyntaxError:意外的保留字

Car.js

我试着像这样使用汽车模块

main.js

我正在使用带babelify的browserify转换为ES6

browserify -t babelify main.js -o public/scripts/bundle.js",

我是否正确导出了汽车模块,或者我做错了什么?

我的问题是,我正在使用一个同构的React.js应用程序,babelify browserify转换很好,我的bundle.js文件传输很好。这是我脚本的服务器端部分的一个问题,因为它没有用babel编译成ES6

我希望这并不意味着我需要在源文件中复制ES6和ES5的副本,因为这正是我试图避免的,通过browserify babelify转换,我可以在ES6中编写代码,只需指向main.js文件

这是我的基础,我基本上是从节点中透明地使用require()jsx,所以我只需要一种使用babel的方法

require('node-jsx').install(); 
var express = require('express');
var React = require('react');
var APP = require('./app'); // the JSX app with calls to ES6 modules
var app = express();
var port = 3000;
var ip = '127.0.0.1';

app.get('/', function(req, res) {
  var markup = React.renderToString(APP());
  res.send(markup);
});

更新:我认为与此类似,我可以使用--harmony标志或者使用node来运行带有es6功能的脚本

需要babel/register可以解决您的问题吗

require('babel/register');
如下文所述:

扩展名为.es6、.es、.jsx和.js的节点所需的所有后续文件都将由Babel转换。polyfill也是自动需要的


对此的回答是,我可以使用node with--harmony标志或使用node with--harmony标志来运行具有es6功能的脚本


下面是一些使用
babel节点服务器的alt/iso同构React示例,它们演示了这种方法。

似乎没有进行转换,或者您没有执行正确的文件。
require('node-jsx').install(); 
var express = require('express');
var React = require('react');
var APP = require('./app'); // the JSX app with calls to ES6 modules
var app = express();
var port = 3000;
var ip = '127.0.0.1';

app.get('/', function(req, res) {
  var markup = React.renderToString(APP());
  res.send(markup);
});
require('babel/register');