我非常松散地遵循这里的示例,直到它开始运行开发服务器。
我有一个测试 React 组件(在 scripts/test.jsx 中):
/** @jsx React.DOM */
var React = require('react');
var Test = React.createClass({
render: function(){
return <h1>HI!</h1>
}
});
module.exports = Test;
我有一个 webpack.config,我在其中对源目录使用 jsx 加载程序(它与示例中的基本相同,除了我添加了库属性)。
我运行 webpack 并像我期望的那样生成捆绑文件,但是,当我尝试在 html 文件中使用组件时(在包含 bundle.js 脚本参考之后),我在控制台中得到以下信息:“未捕获的 ReferenceError:测试不是定义“。
HTML 包含以下内容:
<div id="hi">
</div>
<script type="text/jsx">
/** @jsx React.DOM */
React.renderComponent(
<Test />,
document.getElementById('hi')
);
</script>
我是否在使用 CommonJS 样式中定义的组件对技术上不使用模块加载器的 html 页面做一些不正确的事情(我试图将此测试视为试图加载组件而没有任何结构化模块加载器的类型)?
webpack 的输出可在此处获得
编辑 2:完整的示例代码可作为 github repo获得