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"