Webpack 和 React With Es2015 模块通过 Babel
Webpack & React With Es2015 Modules via Babel
我真的在为 Webpack 和 React 苦苦挣扎。似乎很长时间以来,Node 5.0 都没有注册我在 package.json 'dependencies' 中安装的 npm 模块。
今天,我将 Node 升级到 5.2,它现在似乎运行良好。
但是,现在我正在努力让模块中的 React 代码正常工作。
Webpack 没有报错。
Chrome 控制台说:
"Uncaught Error: Invariant Violation: ReactDOM.render(): Invalid component element."(指向 Main.jsx 文件)。
有很多依赖项&我的 webpack 配置相当冗长所以我犹豫 post main.jsx 文件内容只在 SO 上。整个 repo(带有长度配置文件,然而,React 代码本身有几行长)是 here on Bitbucket.
main.jsx:
import React from 'react';
import ReactDOM from 'react-dom';
import AppParent from './components/App.jsx';
main ();
function main () {
const app = document.createElement ('div');
document.body.appendChild (app);
ReactDOM.render (AppParent, app);
};
App.jsx:
import React from 'react';
import Topbar from './Topbar.jsx';
export default AppParent;
var AppParent = React.createClass ({
render : function () {
return (
<div className = 'ReactParent'>
</div>
);
}
});
在render
方法中你需要渲染一个元素:
ReactDOM.render (<AppParent />, app);
您正在传递 React component class。
您没有渲染应该是 ReactDom.render(<AppParent />, app)
的元素
我真的在为 Webpack 和 React 苦苦挣扎。似乎很长时间以来,Node 5.0 都没有注册我在 package.json 'dependencies' 中安装的 npm 模块。 今天,我将 Node 升级到 5.2,它现在似乎运行良好。
但是,现在我正在努力让模块中的 React 代码正常工作。
Webpack 没有报错。 Chrome 控制台说:
"Uncaught Error: Invariant Violation: ReactDOM.render(): Invalid component element."(指向 Main.jsx 文件)。
有很多依赖项&我的 webpack 配置相当冗长所以我犹豫 post main.jsx 文件内容只在 SO 上。整个 repo(带有长度配置文件,然而,React 代码本身有几行长)是 here on Bitbucket.
main.jsx:
import React from 'react';
import ReactDOM from 'react-dom';
import AppParent from './components/App.jsx';
main ();
function main () {
const app = document.createElement ('div');
document.body.appendChild (app);
ReactDOM.render (AppParent, app);
};
App.jsx:
import React from 'react';
import Topbar from './Topbar.jsx';
export default AppParent;
var AppParent = React.createClass ({
render : function () {
return (
<div className = 'ReactParent'>
</div>
);
}
});
在render
方法中你需要渲染一个元素:
ReactDOM.render (<AppParent />, app);
您正在传递 React component class。
您没有渲染应该是 ReactDom.render(<AppParent />, app)