什么是 'require' 函数是 ReactJS?

what is 'require' function is ReactJS?

以下面的示例代码为例

require('react-bootstrap-datetimepicker');

...

render: function() {
  return <DateTimeField />;
}

datatimepicker是第三方库,我自己的代码中可以使用,但是如果我在js中添加这段代码,firebug会告诉我require 找不到。如果我应该翻译这段代码或做些什么?非常感谢

你可以做到

npm install -g requirejs

然后

var requirejs = require('requirejs');

require 函数旨在向当前范围添加单独的代码片段(“模块”),该功能在 [=14= 之前不是 JavaScript/ECMAScript 语言的一部分].

因此,此函数不是特定于 ReactJS,也不是该语言的一部分,这就是当您尝试在普通浏览器中使用它时 Firefox 会抛出错误的原因环境。

使用require同步加载模块一般是CommonJS方法的一部分(见this answer for more on module formats). While an environment such as Node.js provides a module API与本规范类似,浏览器没有;所以你必须自己带这个功能。

这样做的选项有很多,您可以选择最适合您的工作流程和个人品味的选项。但总的来说,模式归结为:

  • 在浏览器中显式使用模块加载器: 使用 <script> 标签,带上 SystemJS 等加载器并立即使用它来加载您的自己的代码。
  • 将您的代码捆绑到单个脚本: 使用 Browserify, Webpack, or JSPM 等捆绑器,并使用单个 <script> 标记加载结果。捆绑器带来了自己的模块加载器。

一般情况下,第二种方案更针对生产环境,而第一种方案更适用于开发环境。