【发布时间】:2017-11-09 06:15:15
【问题描述】:
我有一个带有 webpack 模块构建器的 ReactJS 应用程序,以下是我的 webpack.config.js
var path = require('path');
var webpack = require('webpack');
module.exports = {
entry: {
app : './src/scripts/app.js'
},
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'public')
},
context: __dirname,
resolve: {
extensions: ['.js', '.jsx', '.json', '*']
},
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader',
options: {
presets: ['react', 'es2015']
}
},
{
test: /\.css$/,
use: [
'style-loader',
'css-loader'
]
},
{
test: /\.(png|svg|jpg|gif)$/,
use: [
'file-loader'
]
},
{
test: /\.(woff|woff2|eot|ttf|otf)$/,
use: [
'file-loader'
]
}
]
}
};
我的app.js中有以下代码
import React from 'react';
import ReactDOM from 'react-dom';
var MainApp = React.createClass({
render: function(){
return (
<div>
<div>Header component</div>
<div>Boady component</div>
</div>
);
}
});
ReactDOM.render(
<MainApp />,
document.getElementById('container')
);
现在运行服务器后,当我在浏览器中加载我的页面时出现以下错误:
未捕获的类型错误:_react2.default.createClass 不是函数
我想了解有关此问题的更多详细信息,非常感谢您的帮助。
【问题讨论】:
-
你在使用 React 16 吗?如果是这样,则错误是因为
.createClass不再存在。见reactjs.org/blog/2017/09/26/react-v16.0.html#packaging -
@loganfsmyth 是的,我正在使用 React 16
标签: javascript reactjs webpack ecmascript-6 babeljs