Podążyłem za głównym tutorialem na temat pakietu internetowego i uruchomiłem serwer. Kiedy zmieniam pliki, aktualizacja zostanie zapisana, wszystko jest w porządku. Jednak wtedy wprowadziłem React i wszystko poszło nie tak.Pakiet Web Pack nie działa po wprowadzeniu React
Po pierwsze, ja dostaję ten błąd w przeglądarce:
Unexpected token <
You may need an appropriate loader to handle this file type.
ten jest skierowany do linii 4 w moim entry.js pliku:
var CommentBox = React.createClass({
render: function() {
return (
<div className="commentBox">
Hello, world! I am a CommentBox.
</div>
);
}
});
ReactDOM.render(
<CommentBox />,
document.getElementById('content')
);
to 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']
}
};
Jeśli zmienię plik entry.js
po prostu zawierać:
document.write(require("./content.js"));
Produkuje co obecnie mam w pliku content.js:
module.exports = "this is working";
Tak więc jest to coś zrobić z reagują/jsx itp. Ktoś ma jakieś rozwiązania? Widziałem inne osoby w Internecie z tym problemem, ale podane rozwiązania nie sprawdziły się do tej pory.
Jaką wersję reagowania i babel używasz? Obaj mieli zmiany, które zrywają większość starych samouczków. Podaj link do samouczka. – Yannick
Prawdopodobnie chcesz babel-loader zamiast jsx-loader https://github.com/babel/babel-loader – wgcrouch