Javascript 未捕获错误:缩小反应错误130
下面是我的代码 -----index.js---Javascript 未捕获错误:缩小反应错误130,javascript,node.js,reactjs,react-native,webpack,Javascript,Node.js,Reactjs,React Native,Webpack,下面是我的代码 -----index.js--- var React =require('react'); var ReactDOM =require('react-dom'); var App=require('../components/App'); ReactDOM.render(<App />, document.getElementById('app')); -----网页配置--- const HTMLWebpackPlugin=require('html-webpa
var React =require('react');
var ReactDOM =require('react-dom');
var App=require('../components/App');
ReactDOM.render(<App />, document.getElementById('app'));
-----网页配置---
const HTMLWebpackPlugin=require('html-webpack-plugin');
const webpack=require('webpack');
const UnminifiedWebpackPlugin = require('unminified-webpack-plugin');
const HTMLWebpackPluginConfig=new HTMLWebpackPlugin({
template: '../../views/index.hbs',
filename:'index.hbs'
});
module.exports={
entry:__dirname + '/app/index.js',
module:{
rules:[
{
test:/\.js$/,
exclude:/node_modules/,
loader:'babel-loader'
}
]
},
plugins: [
new UnminifiedWebpackPlugin(),
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('development')
}
})
],
devtool: 'source-map',
output:{
filename:'app.js',
path:__dirname + '../../public/javascripts/'
},
devServer:{
inline:false
}
};
---------文件夹结构-------
|react
|node modules
|components
|App.js
|app
|index.js
一切正常,但当我在浏览器中执行应用程序时,我会收到react错误,并给出一个显示以下内容的链接
元素类型无效:内置组件应为字符串
或复合组件的类/函数,但得到:object
你把需求和导入/导出混淆了
因为您正在运行webpack,所以所有React代码以及babel通过webpack传输的任何内容都应该坚持使用导入/导出。require应该只在像js这样由节点直接运行的地方使用
在index.js中,将所有require更改为imports,看看这是否有帮助。您将require和import/export混为一谈
因为您正在运行webpack,所以所有React代码以及babel通过webpack传输的任何内容都应该坚持使用导入/导出。require应该只在像js这样由节点直接运行的地方使用
在index.js文件中,更改导入所需的所有参数,并查看是否有帮助。在index.js文件中,您应该如下更改代码:
var App = require('../components/App').default;
或使用导入
我建议使用统一的用法。您可以导入/导出或module.exports/require。在index.js文件中,您应该如下更改代码:
var App = require('../components/App').default;
或使用导入
我建议使用统一的用法。您可以导入/导出或module.exports/require。我尝试过它不起作用。我用import-It-not-working替换了每个require语句。我尝试过它不起作用。我用import-It-not-working替换了每个require语句。
var App = require('../components/App').default;
import App from '../components/App';