Ecmascript 6 使用Browserify/Babel在ES6 Express中呈现React组件不工作

Ecmascript 6 使用Browserify/Babel在ES6 Express中呈现React组件不工作,ecmascript-6,browserify,babeljs,isomorphic-javascript,Ecmascript 6,Browserify,Babeljs,Isomorphic Javascript,我在app.js中有一个React.Component,我正试图在Express中呈现它 app.js: var React = require('react') class App extends React.Component { render () { return <div>Hello</div> } } export default App 如果我使用app.js(pre-browserify)替换bundle.js的内容,它就可以工作了!

我在
app.js
中有一个React.Component,我正试图在Express中呈现它

app.js:

var React = require('react')

class App extends React.Component {
  render () {
    return <div>Hello</div>
  }
}

export default App
如果我使用app.js(pre-browserify)替换bundle.js的内容,它就可以工作了!我从Express获得以下字符串形式的React应用程序

<div data-reactid=".av7twqopa8" data-react-checksum="-111206364"><button data-reactid=".av7twqopa8.0">click me!</button></div>
我使用的browserify命令是:

"browserify": {
    "transform": [ [ "babelify", { "presets": [ "es2015", "react" ] } ]    ]
 },
 "scripts": {
 "build": "NODE_ENV=production browserify src/main.js | uglifyjs -cm > public/js/bundle.js"

使用
module.exports=
而不是
export default
为我解决了这个问题。

Ty。为什么“modules.exports”有效而“export default”无效?我正在尝试使用ES6,所以理想情况下应该使用Export。你能解决这个问题吗?我遇到了相同的问题,似乎没有任何新信息可用。没有,但我会检查您传递到React.createFactory(…)的内容。注销它,可能传入的内容不正确。错误是说我传入的内容是错误的类型。它需要是一个函数或字符串。
 Error: Invariant Violation: Element type is invalid: expected a string       
 (for built-in components) or a class/function (for composite      
 components) but got: object.
"browserify": {
    "transform": [ [ "babelify", { "presets": [ "es2015", "react" ] } ]    ]
 },
 "scripts": {
 "build": "NODE_ENV=production browserify src/main.js | uglifyjs -cm > public/js/bundle.js"