【发布时间】:2017-06-25 12:12:22
【问题描述】:
我正在研究 reactjs/webpack,并且我已经构建了一个简单的 reactjs 应用程序。在 app.js 我得到了:
class Application extends React.Component {
render() {
console.log('testing ')
return <div>
<h1>Hello, ES6 w React 0.13!</h1>
</div>;
}
}
ReactDOM.render(<Application />, document.getElementById('root'));
由于某种原因,当我运行 webpackserver 时,没有显示该组件。这是我的 webpack.config:
var path = require('path');
var webpack = require('webpack');
module.exports = {
entry: './app/app.js',
output: {
path: __dirname + '/',
publicPath: './dist/',
filename: 'bundle.js'
},
devServer: {
inline: true,
port: 8080
},
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel',
query: {
presets: ['es2015', 'react']
}
}
]
}
}
我也在使用 gulp 启动服务器:
gulp.task('webpack-dev-server', function (c) {
var myConfig = Object.create(webpackConfig);
myConfig.devtool = 'eval';
myConfig.debug = true;
// Start a webpack-dev-server
new WebpackDevServer(webpack(myConfig), {
stats: {
colors: true
}
}).listen(myConfig.devServer.port, 'localhost', function (err) {
if (err) {
throw new gutil.PluginError('webpack-dev-server', err);
}
gutil.log('[webpack-dev-server]', 'http://localhost:8080/index.html');
});
});
如何显示 jsx 组件?
【问题讨论】:
-
控制台有错误吗?您必须在 DOM 中使用
ReactDOM.render渲染您的顶级元素,您是否在某处这样做? -
嗨,刚刚添加了一些代码和参考到 repo
-
您正在渲染
<Application />,但您的课程是Applications。你应该打电话给ReactDOM.render,而不是React.render。 -
刚试过这个,没有运气
标签: reactjs webpack webpack-dev-server