開発サーバーの実行を開始する時点まで、ここの例に非常に大まかに従っています。
テスト用の React コンポーネントがあります (scripts/test.jsx 内):
/** @jsx React.DOM */
var React = require('react');
var Test = React.createClass({
render: function(){
return <h1>HI!</h1>
}
});
module.exports = Test;
ソースディレクトリに対してjsxローダーを使用しているwebpack.configがあります(ライブラリプロパティを追加していることを除いて、基本的に例と同じです)。
webpack を実行すると、期待どおりにバンドル ファイルが生成されますが、コンポーネントを html ファイルで使用しようとすると (bundle.js スクリプト参照を含めた後)、コンソールに次のメッセージが表示されます: " Uncaught ReferenceError: Test is not "と定義されています。
HTML には次のものが含まれます。
<div id="hi">
</div>
<script type="text/jsx">
/** @jsx React.DOM */
React.renderComponent(
<Test />,
document.getElementById('hi')
);
</script>
モジュールローダーを技術的に使用していないhtmlページに対してCommonJSスタイルで定義されたコンポーネントを使用するために何か間違ったことをしていますか?構造化モジュールローダーのタイプ)?
webpack の出力はこちらから入手できます
編集 2: 完全なサンプル コードは、github リポジトリとして入手できます。