Tôi đã làm theo hướng dẫn chính về webpack và tôi đã thiết lập và chạy máy chủ. Khi tôi thay đổi tệp, nó sẽ cập nhật khi lưu, tất cả đều tốt. Tuy nhiên, sau đó tôi đã giới thiệu React và tất cả đều sai.Webpack không hoạt động khi React được giới thiệu
Thứ nhất, tôi nhận được lỗi này trong trình duyệt:
Unexpected token <
You may need an appropriate loader to handle this file type.
này được trỏ đến dòng 4 trong tập tin entry.js tôi:
var CommentBox = React.createClass({
render: function() {
return (
<div className="commentBox">
Hello, world! I am a CommentBox.
</div>
);
}
});
ReactDOM.render(
<CommentBox />,
document.getElementById('content')
);
Đây là index.html
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div id ="content"></div>
<script type="text/javascript" src="bundle.js" charset="utf-8"></script>
</body>
</html>
webpack.config.js:
module.exports = {
entry: "./entry.js",
output: {
path: __dirname,
filename: "bundle.js"
},
module: {
loaders: [
{
test: /\.jsx?$/,
loader: 'jsx-loader?insertPragma=React.DOM&harmony'
}
]
},
externals: {
'react': 'React'
},
resolve: {
extensions: ['', '.js', '.jsx']
}
};
Nếu tôi thay đổi các tập tin entry.js
chỉ chứa:
document.write(require("./content.js"));
Nó tạo ra những gì tôi hiện có trong file content.js:
module.exports = "this is working";
Vì vậy, do đó nó là một cái gì đó để làm với phản ứng/jsx vv Bất cứ ai có bất kỳ giải pháp này? Tôi đã thấy những người khác trực tuyến với vấn đề này nhưng các giải pháp được đưa ra đã không làm việc cho tôi cho đến nay.
Bạn đang sử dụng phiên bản phản ứng và babel nào? Cả hai đều có những thay đổi phá vỡ hầu hết các hướng dẫn cũ. Vui lòng liên kết đến hướng dẫn. – Yannick
Có thể bạn muốn tải trình tải xuống thay vì trình tải jsx https://github.com/babel/babel-loader – wgcrouch