在 React 中"require"不起作用



我看不懂图书馆https://github.com/jquense/react-widgets有一个路径,例如:lib/NumberInput.js

这个文件的代码是:

'use strict';
var babelHelpers = require('./util/babelHelpers.js');
var React = require('react'),
    CustomPropTypes = require('./util/propTypes'),
    localizers = require('./util/configuration').locale;
var format = function format(props) {
  return props.format || localizers.number.formats['default'];
};
//.... code code code .....
我代码:

<!DOCTYPE html>
<html>
  <head>
    <title>Hello React</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.3/react.js"></script>
    <script src="react-widgets/lib/NumberInput.js"></script>
  </head>
  <body></body>
</html>

在控制台写错误:

Uncaught ReferenceError: require is not defined

我连接了图书馆。http://requirejs.org/
<!DOCTYPE html>
<html>
  <head>
    <title>Hello React</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.3/react.js"></script>
    <script src="require.js"></script>
    <script src="react-widgets/lib/NumberInput.js"></script>
  </head>
  <body></body>
</html>

又出错了:

未捕获错误:模块名"util/babelHelpers.js"尚未加载然而,就上下文而言:_。使用要求([])

我做错了什么?

React widgets是通过NPM分发的;你可以使用它们,因为node.js内置的require模块加载器。为了让浏览器可以使用节点模块,你需要使用Browserify创建一个bundle(包含React本身、小部件、可能还有其他模块和你的代码),并将其包含到web页面中。

最新更新