【发布时间】:2018-04-20 01:35:34
【问题描述】:
我是新手。
我的错误是:
未捕获的错误:目标容器不是 DOM 元素
我已经用谷歌搜索了很多次,发现有这个错误的人:
未捕获的错误:不变违规:_registerComponent(...):目标容器不是 DOM 元素。
我的不包含:
_registerComponent(...):
这是我的文件:
index.html
<html>
<head>
<meta charset="utf-8">
<title>React</title>
</head>
<body>
<div id="root"></div>
<script src="./bundle.js"></script>
</body>
</html>
index.jsx
import React from 'react';
import ReactDOM from 'react-dom';
ReactDOM.render(
<div>
<h1>Hello World!</h1>
</div>,
document.getElementById('root')
);
webpack.config.js
const path = require('path');
module.exports = {
context: path.join(__dirname, 'src'),
entry: './index.jsx',
output: {
path: path.join(__dirname, 'public'),
filename: './bundle.js'
},
module: {
loaders: [
{ test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ },
{ test: /\.jsx$/, loader: 'babel-loader', exclude: /node_modules/ },
],
},
resolve: {
modules: [
path.join(__dirname, 'node_modules')
]
}
};
我发现人们遇到此错误的最常见问题是他们将<script> 放在头部或<div> 之前。然而我没有做这些,所以我不知道问题是什么。
【问题讨论】:
-
不要把它放在body标签里面,你能不能试着在像这样关闭html标签之前把它放在body外面
标签: javascript html reactjs webpack jsx